Prevent services without constraint to run on specific nodes

We have a docker swarm with a set of workers and are looking at adding a few dedicated workers with GPU capabilities for some computational work. Currently we do not use constraints, so we have dozens of services already running without constraints.

Is it possible to add nodes to a swarm and prevent tasks being scheduled on them UNLESS they have a specific constraint? Or to flip that around, is there some kind of default constraint we could remove from a host?

Even though, this is a realy good idea, there is no counterpart to Kubernetes taints for Swarm.

To tame your (non gpu) deployments you will need to define node labels and use them as deployment contraint on your services.