Question: synchronize concurrent threads/processes whenever they access shared data and we saw how mutex/lock variables and Javas synchronized methods could be used to provide a common

synchronize concurrent threads/processes whenever they access shared data and we saw how mutex/lock variables and Javas synchronized methods could be used to provide a common type of synchronization mutually exclusive access. Such mutual exclusion is very useful when the concurrent operations to be synchronized are intended to be independent of one another (e.g. two unrelated requests to some sort of server). Other types of synchronization may also be needed particularly when the concurrent operations are intended to work cooperatively. Consider a distributed computing system where a large problem is somehow divided up so that many machines can be used concurrently to solve parts of the problem. Each machine computes a partial result which is then somehow combined with the results of others to create either a solution or, sometimes, a new problem instance upon which the general process is then repeated until a solution is found. This sort of approach is quite common (though it occurs in various slightly different forms) and includes the currently much-touted map-reduce framework. While mutual exclusion is undoubtedly needed for this sort of approach, other forms of synchronization will also be required. Start by thinking about how a couple of simple problems (e.g. a large scale search or large matrix multiplication) might be divided to benefit from the availability of multiple network-connected machines. Describe your problems and how they would be divided across the machines and then discuss what sort of synchronization would be needed to ensure correct results. Dont worry about how the synchronization is done, just what you think would be needed. A couple of simple diagrams might be useful for answering this question.

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!