Font Size: a A A

Extending PGAS Programming Model On Heterogeneous System

Posted on:2016-11-05Degree:MasterType:Thesis
Country:ChinaCandidate:P ChengFull Text:PDF
GTID:2348330536967731Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
The increasing requirement for computational performance has led to the rapid development of heterogeneous computing.However,heterogeneous programming is more complicated since existing programming models can not provide an efficient homogeneous environment for programmers.Programmers must distinguish the local or remote access of data and transmit the data between computing devices explicitly.Global Array(GA)is a Partitioned Global Address Space(PGAS)language,which can provide an asynchronous one-sided,shared memory programming environment for distributed memory systems.But creating an efficient and scalable implementation of GA on a new system is challenging because of the sophistication of communication library inside GA.In this paper,we present CoGA,the extension of GA on heterogeneous systems.CoGA,which is built on top of Symmetric Communication Interface(SCIF),can provide a shared memory abstraction between CPU and MIC and simplifies the programming by allowing programmers to access the shared data regardless where the referenced data is located.CoGA allocate a pinned memory space for global array object to reduce page swap rate.One-sided put and get operations are implemented with SCIF RMA operations,which can provide high data transmission bandwidth between CPU and MIC.Furthermore,we take advantage of SCIF to optimize the data transmission performance between CPU and MIC.Firstly,communication between MICs is complicated in Offload mode since there is no direct connection between different MICs,while CoGA can create a direct connection between two MICs,which means data transmission between MICs can be implemented via CoGA function calls directly.Secondly,CoGA provide function calls CoGA_sendMsg and coGA_recvMsg to send and receive short command-type messages between CPU and MIC directly.At last,CoGA also provides the function call coGA_GetLocalBuffer that allows process to access the shared data stored in its local memory directly by getting the pointer of local buffer without extra data transmission.Our evaluation on bulk data transmission bandwidth,communication latency of short command-type messages and Matrix-Matrix multiplication problem proves that CoGA is practical and effective.
Keywords/Search Tags:Heterogeneous Computing, PGAS, MIC, GA, SCIF
PDF Full Text Request
Related items