In order to parallelize a program, the developer often needs to divide their work into different tasks explicitly. Then they need to enforce synchronization physically in-between the data shared among the tasks. However, a new chip called Swarm has been introduced to simplifying things and remove the unwanted requirement of explicit synchronization. Parallel programs are thus way more efficient and simpler to code with the help of this chip.
It is developed by a team of researchers working in MIT’s Computer Science and Artificial Intelligence Laboratory (CSAIL). The researchers team behind this issue recently disclosed the efficiency of this chip. They did simulation experiment that displayed different versions of Swarm’s common algorithms that worked almost 18 times faster than the current parallel algorithms. It even increased speed of a program which was stuck in absence of a proper parallelization technique. Swarm’s version used just one-tenth of the code and did the job successfully.
The paper published on this project mainly focused on parallelizing applications that resist multicore programs like graph exploration. Graphs are fundamentally based on nodes that are connected with each other either by unweighted or weighted line segments. For instance, nodes might be used for representing cities or weighted line segments might be used in representation of distances between them.
CSAIL researchers observed a similar kind of problem while they were analyzing a standard algorithm to find out the most speedy driving route between two single points. The main problem with graph exploration is that potential to be fruitful differs in different areas. Most of the times the results come only after the analysis is complete. Computer scientists found a way to prioritize graph exploration like choosing those nodes that have least number of edges on first basis.
Swarm is way different from other in a number of ways. It stands tall from others with its extra circuitry that handles prioritization. It also time stamps the tasks as per their priorities and focuses on the parallel task that is on highest priority. Lower priority tasks are readily queued in the list.
Filed Under: News