Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Need to support multiple shards per node when running under Engage #61

Open
jfischer opened this issue Apr 26, 2012 · 0 comments
Open
Assignees

Comments

@jfischer
Copy link
Contributor

Currently, Engage does not support multiple shards of the same block per node because only one resource of a given type can be installed per node. This property of Engage enables our on-demand model for dependency management. However, multiple shards per node can be important in scenarios where you need multiple processes to maximize CPU usage or bandwidth. It is also helpful in testing.

Recommended solution: create multiple resource keys per block if the block can be sharded. The trick is to do this automatically. If we have a tighter integration between the drivers and blocks, this will be easier. For example, we can have python meta-programming (e.g. decorators) that automatically create resource definitions for some fixed number of shards. Might also look into creating resource subclasses on the fly, based on the topology file. That might also be harder.

When creating additional resources for a shard, we may need to also set configuration parameters for each shard. For example, we might need to assign a different TCP port for each shard so they don't all try to get the same one on a given machine. Alternatively, this could be some kind of dynamic parameter determined at runtime (need engage support for that).

@ghost ghost assigned jfischer Apr 26, 2012
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant