Ottimizzare i trasferimenti dati nei sistemi eterogenei: una visione unificata di tecniche di fusione e separazione statiche e dinamiche
Year: 2026
Type: dissertation
Abstract: Modern heterogeneous systems commonly combine general-purpose CPUs with discrete accelerators such as GPUs.While these accelerators provide high computational throughput, their effective use often depends on the efficiency of data movement between physically distinct host and device memories.In loosely coupled systems, offloaded execution requires allocation, host-to-device transfer, synchronization, device execution, writeback, and deallocation.This thesis studies a specific inefficiency in this execution model: communication fragmentation.When kernels or OpenMP target regions use multiple input arrays or mapped variables, the runtime may materialize each object as an independent allocation and transfer, even when the aggregate data volume could be communicated more efficiently.The thesis frames this problem as one of communication granularity.It first evaluates manual Argument Fusion as a controlled application-level transformation in which multiple logical kernel arguments are packed into a single contiguous buffer, transferred as one physical payload, and accessed through offset-based addressing.Argument Fusion is used to characterize the performance effects of transfer aggregation, allocation and deallocation consolidation, pageable versus pinned host memory, and synchronous versus asynchronous transfer submission.The evaluation shows that fusion is most effective when communication is fragmented across several small or medium-sized arguments, and that its benefits arise not only from larger host-to-device transfers but also from reduced memory-management multiplicity.Building on this characterization, the thesis presents In-Copy Fusion (ICF), a runtime-level fusion mechanism implemented inside LLVM's OpenMP offloading runtime.ICF moves the fusion principle from manually rewritten application code into the OpenMP data-mapping path.At runtime, it identifies eligible input mappings, packs their data into runtime-managed pinned staging buffers, transfers the data into a fused device allocation, and rebinds the original OpenMP mappings to slices of that allocation.This preserves source-level code, kernel interfaces, and OpenMP mapping semantics while changing the physical organization of communication.To avoid the serialization of naive monolithic staging, ICF splits the fused payload into calibrated chunks, allowing host-side packing and device-side transfer to proceed as a staged pipeline.The proposed mechanisms are evaluated using controlled synthetic benchmarks and applicationlevel workloads, including regular fragmented inputs, vector addition, molecular-dynamics update kernels, breadth-first search, Service B+Tree query processing, and a static operand-layout stress case inspired by prior transfer-fusion work.The results show that communication-granularity optimization can improve copy-in and end-to-end execution when offloaded data movement is fragmented and runtime communication overheads are significant.They also identify the limits of the approach: benefits diminish when transfers are already bandwidth-efficient, when computation or writeback dominates total time, when baseline runtime behavior incidentally overlaps allocation and transfer costs, or when mappings are not safely eligible for fusion.iList of Code 4.1 Standard offloading paradigm code for a generic kernel with 3 input arguments.4.2 Optimized offloading with Argument Fusion for a generic kernel with 3 argument inputs. . . . . . . . . . . . . .
Language: English
Subfield: Hardware and Architecture
Field: Computer Science
Domain: Physical Sciences
Open Access status: green
OpenAlex ID: W7223081114
