Z. Al-Ars
Please Note
37 records found
1
Graph processing on systems with disaggregated memory
Aiding financial crime detection in large datasets
Since Memory Inception, Power10 processors' memory disaggregation hardware, is not yet fully operational, a ThymesisFlow prototype, upgraded to support a shared disaggregated memory system with the help of Apache Arrow, is used to implement a practical application. The selected application is a graph processor capable of detecting money laundering patterns in financial transaction graphs in real-time. These patterns yield transaction features that machine learning algorithms can use to identify fraudulent financial transactions.
Our proof-of-concept implementation enables the creation of a distributed graph, represented as Apache Arrow tables, that can process large datasets in real-time. The graph resides in a shared disaggregated memory region and can be accessed by multiple systems without data copying, incurring lower latency penalties than network-based data retrieval. The distributed graph processor was developed and tested using the ThymesisFlow prototype provided by the Hasso Plattner Institute. ...
Since Memory Inception, Power10 processors' memory disaggregation hardware, is not yet fully operational, a ThymesisFlow prototype, upgraded to support a shared disaggregated memory system with the help of Apache Arrow, is used to implement a practical application. The selected application is a graph processor capable of detecting money laundering patterns in financial transaction graphs in real-time. These patterns yield transaction features that machine learning algorithms can use to identify fraudulent financial transactions.
Our proof-of-concept implementation enables the creation of a distributed graph, represented as Apache Arrow tables, that can process large datasets in real-time. The graph resides in a shared disaggregated memory region and can be accessed by multiple systems without data copying, incurring lower latency penalties than network-based data retrieval. The distributed graph processor was developed and tested using the ThymesisFlow prototype provided by the Hasso Plattner Institute.
Enhancing data center efficiency through eco-mode integration
Providing a framework for data center parameter analysis
In general, the related axioma is: the higher the offered bandwidth (higher radio frequencies), the shorter the radio ranges will be. Small cells provide additional capacity (preferably) by means of high-frequency bands such as 3.5 GHz and 26 GHz offloading the macro network in particular short-range hotspots. Small cells can deliver higher data rates to end users, making their deployment essential at hotspots in densely populated urban areas where additional capacity will be required. This master’s thesis evaluates Radio Access Network (RAN) architecture options for combining macro cells and small cells from both theoretical and practical perspectives.
The main finding from the Radio Access Network-related theoretical analysis is that the RAN architecture split option 7.2x recommended by the O-RAN Alliance is the optimal solution for indoor and outdoor deployment of small cells. Split option 7.2x offers significant benefits, such as minimising the impact on transport bandwidth while enhancing the virtualisation capabilities of the gNB Central Unit (CU) and Distributed Unit (DU), and enabling a cost-effective design of the Radio Unit (RU).
To gain an understanding of the practicalities involved in small cell deployment, this master thesis, through the Utrecht practical case study, examines potential locations for the installation of RUs, DUs, and CUs using a combination of expert interviews, Google Street View analysis, QGIS visualisations, and site visits. Proposed locations for RUs include three tall lamp posts and two security camera poles, while wharf cellars managed by Stedin and a macro cell base station are recommended for the installation of CUs and DUs. These recommendations are based on an analysis of power availability, transport, site accessibility and expert interviews. From the research it is concluded that small cell deployment in the Utrecht researched area is feasible, provided that specific challenging boundary conditions are met such as collaboration among MNOs and the use of existing poles.
The practical part of this thesis research also delves into the complex interplay of eight socioeconomic sectors and their roles in small cell deployment, providing insights into the trans-sector nature of this project.
The main results from this practical part of the research concern the conclusions from the Utrecht practical case study about realizing small cells:
The main results from this practical part of the research concern the conclusions from the Utrecht practical case study about realizing small cells:
1. The rollout of small cells is a complex multi-actor value case with substantially more actors to collaborate in comparison with rolling out macro cells by primarily telecom operators and municipalities (issuing licenses).
2. Municipalities are best suited to fulfil the role of orchestrator in the rollout of small cells because they can coordinate diverse stakeholders to ensure seamless integration with existing infrastructure, maintain city aesthetics and establish a direct line of communication with residents for feedback and service improvement.
Based on some representative calculations of small cell deployments in the city of Utrecht we obtained good insight into the complexity as well as cost of small cells. A few of the quantitative results are mentioned below:
•The price of a small cell is roughly around €60,000 per small cell site, including digging for transmission and power costs.
•In case the fronthaul is replaced by a wireless connection, roughly 30% of cost savings can be achieved.
...
In general, the related axioma is: the higher the offered bandwidth (higher radio frequencies), the shorter the radio ranges will be. Small cells provide additional capacity (preferably) by means of high-frequency bands such as 3.5 GHz and 26 GHz offloading the macro network in particular short-range hotspots. Small cells can deliver higher data rates to end users, making their deployment essential at hotspots in densely populated urban areas where additional capacity will be required. This master’s thesis evaluates Radio Access Network (RAN) architecture options for combining macro cells and small cells from both theoretical and practical perspectives.
The main finding from the Radio Access Network-related theoretical analysis is that the RAN architecture split option 7.2x recommended by the O-RAN Alliance is the optimal solution for indoor and outdoor deployment of small cells. Split option 7.2x offers significant benefits, such as minimising the impact on transport bandwidth while enhancing the virtualisation capabilities of the gNB Central Unit (CU) and Distributed Unit (DU), and enabling a cost-effective design of the Radio Unit (RU).
To gain an understanding of the practicalities involved in small cell deployment, this master thesis, through the Utrecht practical case study, examines potential locations for the installation of RUs, DUs, and CUs using a combination of expert interviews, Google Street View analysis, QGIS visualisations, and site visits. Proposed locations for RUs include three tall lamp posts and two security camera poles, while wharf cellars managed by Stedin and a macro cell base station are recommended for the installation of CUs and DUs. These recommendations are based on an analysis of power availability, transport, site accessibility and expert interviews. From the research it is concluded that small cell deployment in the Utrecht researched area is feasible, provided that specific challenging boundary conditions are met such as collaboration among MNOs and the use of existing poles.
The practical part of this thesis research also delves into the complex interplay of eight socioeconomic sectors and their roles in small cell deployment, providing insights into the trans-sector nature of this project.
The main results from this practical part of the research concern the conclusions from the Utrecht practical case study about realizing small cells:
The main results from this practical part of the research concern the conclusions from the Utrecht practical case study about realizing small cells:
1. The rollout of small cells is a complex multi-actor value case with substantially more actors to collaborate in comparison with rolling out macro cells by primarily telecom operators and municipalities (issuing licenses).
2. Municipalities are best suited to fulfil the role of orchestrator in the rollout of small cells because they can coordinate diverse stakeholders to ensure seamless integration with existing infrastructure, maintain city aesthetics and establish a direct line of communication with residents for feedback and service improvement.
Based on some representative calculations of small cell deployments in the city of Utrecht we obtained good insight into the complexity as well as cost of small cells. A few of the quantitative results are mentioned below:
•The price of a small cell is roughly around €60,000 per small cell site, including digging for transmission and power costs.
•In case the fronthaul is replaced by a wireless connection, roughly 30% of cost savings can be achieved.
We present graphalg, a high-level, domain-specific language for writing graph algorithms embedded into traditional graph queries. Our language is based on linear algebra, with a syntax resembling GraphBLAS, and implemented in the AvantGraph database.
We implement a compiler for graphalg that can target an interpreter built on top of a GraphBLAS implementation. Alternatively, our compiler can transform graphalg programs into a relational algebra with loops, unifying the representation of query and algorithm. We evaluate the programmability and performance of our system on the GAP Benchmark Suite for graph algorithms. Our language is expressive enough to concisely represent all GAP benchmark programs, with the majority of programs achieving performance comparable to an optimized C implementation.
We conclude that graph algorithm support can be integrated into graph databases to increase their programmability. Running graph algorithms inside of the database increases performance and reduces memory consumption compared to using external tools for the analysis. Rather than thinking of graph databases as limited tools for answering simple queries, we demonstrate that they can instead be a programmable framework for efficient large-scale data analysis. ...
We present graphalg, a high-level, domain-specific language for writing graph algorithms embedded into traditional graph queries. Our language is based on linear algebra, with a syntax resembling GraphBLAS, and implemented in the AvantGraph database.
We implement a compiler for graphalg that can target an interpreter built on top of a GraphBLAS implementation. Alternatively, our compiler can transform graphalg programs into a relational algebra with loops, unifying the representation of query and algorithm. We evaluate the programmability and performance of our system on the GAP Benchmark Suite for graph algorithms. Our language is expressive enough to concisely represent all GAP benchmark programs, with the majority of programs achieving performance comparable to an optimized C implementation.
We conclude that graph algorithm support can be integrated into graph databases to increase their programmability. Running graph algorithms inside of the database increases performance and reduces memory consumption compared to using external tools for the analysis. Rather than thinking of graph databases as limited tools for answering simple queries, we demonstrate that they can instead be a programmable framework for efficient large-scale data analysis.
In this thesis project, we built a compiler optimizing C++ atomic memory accesses based on LLVM 14.0.0. We modified related LLVM passes to enable these optimizations. Specifically, our compiler is able to optimize Read-After-Read(RAR), Read-After-Write(RAW), and Overwritten Write(OW) patterns containing atomics. To achieve this, we removed checks in LLVM that forbid atomic accesses from being processed. And we added constraints and adapted them into existing algorithms of LLVM passes, to ensure the soundness of our transformations.
We tested our compiler using randomly generated ordered memory accesses. And our compiler is shown to be able to remove redundant atomic memory accesses, which the current LLVM does not. And we evaluated our compiler using several concurrent applications. We have not yet found a significant performance gain after building these applications using our compiler. The reason could be that these concurrent benchmarks do not contain the patterns our compiler optimizes. ...
In this thesis project, we built a compiler optimizing C++ atomic memory accesses based on LLVM 14.0.0. We modified related LLVM passes to enable these optimizations. Specifically, our compiler is able to optimize Read-After-Read(RAR), Read-After-Write(RAW), and Overwritten Write(OW) patterns containing atomics. To achieve this, we removed checks in LLVM that forbid atomic accesses from being processed. And we added constraints and adapted them into existing algorithms of LLVM passes, to ensure the soundness of our transformations.
We tested our compiler using randomly generated ordered memory accesses. And our compiler is shown to be able to remove redundant atomic memory accesses, which the current LLVM does not. And we evaluated our compiler using several concurrent applications. We have not yet found a significant performance gain after building these applications using our compiler. The reason could be that these concurrent benchmarks do not contain the patterns our compiler optimizes.
The main problem this thesis addresses is the implementation of an accelerated hardware solution for the compute-intensive process of basecalling long-read sequences. The thesis presents an FPGA-based implementation of the computationally demanding Long Short-Term Memory (LSTM) layers within the basecalling network known as Bonito. However, due to the lack of floating-point arithmetic units available on the FPGA, the FPGA implementation could not achieve competitive performance compared to GPUs.
While the FPGA implementation falls short of GPU performance, it serves as a possible stepping stone toward developing an ASIC solution for implementing the Bonito LSTM layers or potentially implementing the entire Bonito model. An ASIC implementation has the potential for superior performance up to 9 times faster than a GPU implementation while additionally being cost-effective. This suggests that ASICs hold promise as a future direction for accelerating long-read sequence basecalling, allowing for faster and more affordable genomics research. ...
The main problem this thesis addresses is the implementation of an accelerated hardware solution for the compute-intensive process of basecalling long-read sequences. The thesis presents an FPGA-based implementation of the computationally demanding Long Short-Term Memory (LSTM) layers within the basecalling network known as Bonito. However, due to the lack of floating-point arithmetic units available on the FPGA, the FPGA implementation could not achieve competitive performance compared to GPUs.
While the FPGA implementation falls short of GPU performance, it serves as a possible stepping stone toward developing an ASIC solution for implementing the Bonito LSTM layers or potentially implementing the entire Bonito model. An ASIC implementation has the potential for superior performance up to 9 times faster than a GPU implementation while additionally being cost-effective. This suggests that ASICs hold promise as a future direction for accelerating long-read sequence basecalling, allowing for faster and more affordable genomics research.
Tydi-Chisel
Collaborative and Interface-Driven Data-Streaming Accelerator Design
In this thesis, the Tydi-Chisel library is presented along with an A-to-Z design-process description for data-streaming accelerators. A stream-interface solution is presented that offers both compatibility with Tydi in traditional HDLs and maximum utility within Chisel through two intercompatible representations. In addition, design complexity is reduced through novel utilities like stream-complexity conversion, developed to alleviate interface specification mismatches between components. Using the presented toolchain and library, the amount of code required to specify Tydi interfaces for representative use-cases can be reduced several times compared to a Verilog description, while offering increased utility.
Tydi-Chisel aims to simplify the design of data-streaming accelerators through the integration of the Tydi interface standard in Chisel, along with helper components, syntax sugar, and verification tools. In combination Chisel and Tydi help bridge the hardware-software divide, making solo-design and collaboration between designers easier. ...
In this thesis, the Tydi-Chisel library is presented along with an A-to-Z design-process description for data-streaming accelerators. A stream-interface solution is presented that offers both compatibility with Tydi in traditional HDLs and maximum utility within Chisel through two intercompatible representations. In addition, design complexity is reduced through novel utilities like stream-complexity conversion, developed to alleviate interface specification mismatches between components. Using the presented toolchain and library, the amount of code required to specify Tydi interfaces for representative use-cases can be reduced several times compared to a Verilog description, while offering increased utility.
Tydi-Chisel aims to simplify the design of data-streaming accelerators through the integration of the Tydi interface standard in Chisel, along with helper components, syntax sugar, and verification tools. In combination Chisel and Tydi help bridge the hardware-software divide, making solo-design and collaboration between designers easier.
A Toolchain for Streaming Dataflow Accelerator Designs for Big Data Analytics
Defining an IR for Composable Typed Streaming Dataflow Designs
In this thesis, an open-source intermediate representation (IR) is introduced which allows for the declaration of Tydi's types. The IR enables creating and connecting components with Tydi Streams as interfaces, called Streamlets. It also lets backends for synthesis and simulation retain high-level information, such as documentation. Types and Streamlets can be easily reused between multiple projects, and Tydi’s streams and type hierarchy can be used to define interface contracts, which aid collaboration when designing a larger system.
The IR codifies the rules and properties established in the Tydi specification and serves to complement computation-oriented hardware design tools with a data-centric view on interfaces. To support different backends and targets, the IR is focused on expressing interfaces, and complements behavior described by hardware description languages and other IRs. Additionally, a testing syntax for the verification of inputs and outputs against abstract streams of data, and for substituting interdependent components, is presented which allows for the specification of behavior.
To demonstrate this IR, a grammar, parser, and query system have been created, and paired with a backend targeting VHDL. ...
In this thesis, an open-source intermediate representation (IR) is introduced which allows for the declaration of Tydi's types. The IR enables creating and connecting components with Tydi Streams as interfaces, called Streamlets. It also lets backends for synthesis and simulation retain high-level information, such as documentation. Types and Streamlets can be easily reused between multiple projects, and Tydi’s streams and type hierarchy can be used to define interface contracts, which aid collaboration when designing a larger system.
The IR codifies the rules and properties established in the Tydi specification and serves to complement computation-oriented hardware design tools with a data-centric view on interfaces. To support different backends and targets, the IR is focused on expressing interfaces, and complements behavior described by hardware description languages and other IRs. Additionally, a testing syntax for the verification of inputs and outputs against abstract streams of data, and for substituting interdependent components, is presented which allows for the specification of behavior.
To demonstrate this IR, a grammar, parser, and query system have been created, and paired with a backend targeting VHDL.
...
An inference accuracy analysis is performed to quantify what the effect of this approach is on the VGG16 network for the ImageNet image classification task. Using 8 bit posit for the first and last network layer instead of 16 bit fixed point is shown to result in a top-5 accuracy degradation of only 0.24%. The hidden layers are computed using 8 bit fixed point in both cases.
The design of a parameterized systolic array accelerator performing exact accumulation is proposed that can be used in a scale-out system along with fixed point systolic array tiles. To increase hardware utilization, a hybrid posit decoder is designed to enable fixed point computation on the posit hardware. Using this hardware, the entire network can be computed using 8 bit data, instead of using 16 bits for some layers. This reduces energy consumption and the complexity of the memory hierarchy. ...
An inference accuracy analysis is performed to quantify what the effect of this approach is on the VGG16 network for the ImageNet image classification task. Using 8 bit posit for the first and last network layer instead of 16 bit fixed point is shown to result in a top-5 accuracy degradation of only 0.24%. The hidden layers are computed using 8 bit fixed point in both cases.
The design of a parameterized systolic array accelerator performing exact accumulation is proposed that can be used in a scale-out system along with fixed point systolic array tiles. To increase hardware utilization, a hybrid posit decoder is designed to enable fixed point computation on the posit hardware. Using this hardware, the entire network can be computed using 8 bit data, instead of using 16 bits for some layers. This reduces energy consumption and the complexity of the memory hierarchy.
Temporal Delta Layer
Training Towards Brain Inspired Temporal Sparsity for Energy Efficient Deep Neural Networks
fetches where (at least) one of them is zero can make inference more energy efficient. Although spatial sparsification of activations is researched extensively, introducing and exploiting temporal sparsity is much less explored in DNN literature. This work presents a new DNN layer (called temporal delta layer) whose primary objective is to induce temporal activation sparsity during training. The temporal delta layer promotes activation sparsity by performing delta operation facilitated by activation quantization and l1 norm based penalty to the cost function. During inference, the resulting model acts as a conventional quantized
DNN with high temporal activation sparsity. The new layer was incorporated as a part of the standard ResNet50 architecture to be trained and tested on the popular human action recognition dataset (UCF101). The method caused 2x improvement in activation sparsity, with 5% accuracy loss. ...
fetches where (at least) one of them is zero can make inference more energy efficient. Although spatial sparsification of activations is researched extensively, introducing and exploiting temporal sparsity is much less explored in DNN literature. This work presents a new DNN layer (called temporal delta layer) whose primary objective is to induce temporal activation sparsity during training. The temporal delta layer promotes activation sparsity by performing delta operation facilitated by activation quantization and l1 norm based penalty to the cost function. During inference, the resulting model acts as a conventional quantized
DNN with high temporal activation sparsity. The new layer was incorporated as a part of the standard ResNet50 architecture to be trained and tested on the popular human action recognition dataset (UCF101). The method caused 2x improvement in activation sparsity, with 5% accuracy loss.
SpArrow: A Spark-Arrow Engine
Leveraging the Arrow in-memory columnar format to increase Spark efficiency in RDD computations