Skip to main content

You are not logged in. Your edit will be placed in a queue until it is peer reviewed.

We welcome edits that make the post easier to understand and more valuable for readers. Because community members review edits, please try to make the post substantially better than how you found it, for example, by fixing grammar or adding additional resources and hyperlinks.

Required fields*

4
  • Would it be possible to somehow map between the server id and partition sequence. Eg server id may be 3 and partition sequence will be 1,2,3,4,and so on. If somewhow we can map between the two I can avoid adding a new attribute for server id on the partition. Commented Jul 24, 2018 at 10:28
  • My suggestion doesn't involve adding any extra attributes to your data. Avoiding collisions is not a matter of correctness, but performance. Your existing algorithm is pessimistic, because each server is looking at the same input Q and taking data in the same order. Anything to randomize the selection choices by the servers will alleviate that problem. Commented Jul 24, 2018 at 14:23
  • If you have N servers (lets say N=3 for an example), and lets say your input Q is in a SQL database and you select the work with select top 1 from worktable; just change that select statement to select top 1 from worktable where workitem.id %3 = 0 (for server 0), select top 1 from worktable where workitem.id %3 = 1 (for server 1), and select top 1 from worktable where workitem.id %3 = 2 (for server 2). Each server will get different items at essentially no extra cost. You can even have them fallback to the original query when no work is available for their 'mod' check. Commented Jul 24, 2018 at 14:25
  • got ya, great idea. Commented Jul 24, 2018 at 20:30