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

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.

主站蜘蛛池模板: 根河市| 滨海县| 金坛市| 维西| 大庆市| 获嘉县| 桐柏县| 太仆寺旗| 武邑县| 乌什县| 曲靖市| 湖北省| 卢湾区| 车致| 独山县| 桐柏县| 翼城县| 波密县| 高台县| 洛扎县| 公安县| 大洼县| 柘城县| 仙居县| 体育| 麻栗坡县| 华宁县| 阿合奇县| 四川省| 六安市| 洮南市| 邹平县| 武清区| 益阳市| 兰考县| 中卫市| 松江区| 定边县| 东光县| 两当县| 尚志市|