The new programming language created by MIT can help the program run 4 times faster

This is especially useful when a program must parallel huge blocks of data without slowing the execution speed.

Today's big data raises different issues for current memory management techniques, which are based on the principle of locality. This principle is interpreted as follows: if a specific program has access to data at a location on memory, it also needs surrounding memory blocks.

But when a program has to handle large data, including mountains of data scattered in many places on the memory register, this local rule becomes a performance impediment when it leads to execution of the program becomes slower. To solve this problem, researchers at MIT's Computer Science and Artificial Intelligence Laboratory (CSAIL) developed a new programming language , called Milk.

Picture 1 of The new programming language created by MIT can help the program run 4 times faster
The new programming language is called Milk.

When compared to current programming languages ​​when used to handle large data, a Milk writing program runs 4 times faster. Why can it achieve such speed? The secret lies in how the processor cores collect and store data in the cache.

Today's computer chips are not optimized for distributed data processing. Since the data retrieval from the chip's main memory register is very slow, each core of the modern processor chip has its own cache, a high-speed, relatively small memory register and Attached inside, to save data. Usually, instead of retrieving a single data item from the main memory, each core retrieves both the data block, including the necessary data item and the surrounding data.

Meanwhile, Milk approached another way. It simply adds a few commands to OpenMP , an extension used by other programming languages ​​such as C and Fortran to make coding for multi-core processors easier. With Milk, programmers can insert some additional code into any core of the core searching for data. Then, Milk's compiler solves memory problems in the following way:

With the Milk program, when the processor core detects that it needs a certain item, it does not require that data item (as well as neighboring data items) from the main memory. Instead, it adds the address of the data item to an address list, stored locally on the processor core.

Picture 2 of The new programming language created by MIT can help the program run 4 times faster
With Milk, programmers can insert some additional code into any core of the core searching for data.

When all lists have enough addresses of data items, the processor cores will pool those lists, group the addresses together, and redistribute them to the cores of Processor. In this way, each core will only require the data items it needs and the data retrieval will also take place more efficiently.

Below is a review of Matei Zaharia, assistant professor at Stanford University, when talking about Milk:

"Milk helps address this shortcoming by optimizing memory access in a conventional programming architecture. This work combines detailed knowledge of the memory controller's design with knowledge about the process. Compile, to do the best work on the current hardware ".