官术网_书友最值得收藏!

Compute Grid

Apache Ignite Compute Grid is a distributed in-memory MapReduce/ForkJoin or Splitter-Aggregator platform. It enables the parallel processing of data to reduce the overall processing time. You can offload your computational tasks onto multiple nodes to improve the overall performance of the system and make it scalable. Suppose you need to generate the monthly student dues of a class. This includes accommodation charges, electricity usage, internet bills, food and canteen dues, library fees, and so on. You can split the processing into multiple chunks; each task computes a student due and finally the parent job sums up the dues of all students. If we have 10 nodes/threads and 100 students, then we can do 10 parallel processing. 

Compute grid sends the tasks onto different worker nodes; each node performs a series of expansive calculations such as joining caches/tables using SQL queries. As a result, if we add more nodes the job will scale more. 

The following diagram explains the compute grid architecture. We have to calculate bills for M students and already have N Apache Ignite nodes. Provided M > N, we can split the job into M/N chunks (if M = 101 and N=10, then we will end up with 101/10=10 + 1= 11 chunks) and send each chunk to a worker node. Finally, we aggregate the M/N chunks and send the result back to the job. It will reduce the overall computational time by N * number of loops times:

Ignite compute grid supports distributed closure and SQL joins. We will cover them in Chapter 4, Exploring the Compute Grid and Query API.

主站蜘蛛池模板: 揭东县| 吉林省| 安陆市| 汶上县| 囊谦县| 龙游县| 大英县| 深水埗区| 张家港市| 芒康县| 五河县| 宁夏| 博客| 孙吴县| 当雄县| 古交市| 上虞市| 武宁县| 湘潭县| 宜州市| 壤塘县| 麟游县| 玛纳斯县| 澄城县| 察隅县| 康定县| 屯昌县| 通州市| 沅江市| 舒城县| 兴国县| 木兰县| 宁城县| 叶城县| 祁东县| 黔南| 驻马店市| 明星| 娄底市| 本溪市| 弋阳县|