Zois-Gerasimos Tasoulas

Mr. Zois-Gerasimos Tasoulas

orcid

Research Focus & Metrics

Academic Career Length

9Years (2018-Present)

(Calculated once Scilit publication data is synced: current year − year of first publication + 1)

Representative Publications

View All Publications
4 September 2020 in IEEE Transactions on Circuits and Systems I: Regular Papers
Verified
Journal Article
Closed access
ZTZois-Gerasimos Tasoulas
Zois-Gerasimos Tasoulas
GZGeorgios Zervakis
Georgios Zervakis
IAIraklis Anagnostopoulos
Iraklis Anagnostopoulos
HAHussam Amrouch
Hussam Amrouch
JHJorg Henkel
Jorg Henkel
Current research in the area of Neural Networks (NN) has resulted in performance advancements for a variety of complex problems. Especially, embedded system applications rely more and more on the utilization of convolutional NNs to provide services such as image/audio classification and object detection. The core arithmetic computation performed during NN inference is the multiply-accumulate (MAC) operation. In order to meet tighter and tighter throughput constraints, NN accelerators integrate thousands of MAC units resulting in a significant increase in power consumption. Approximate computing is established as a design alternative to improve the efficiency of computing systems by trading computational accuracy for high energy savings. In this work, we bring approximate computing principles and NN inference together by designing NN specific approximate multipliers that feature multiple accuracy levels at run-time. We propose a time-efficient automated framework for mapping the NN weights to the accuracy levels of the approximate reconfigurable accelerator. The proposed weight-oriented approximation mapping is able to satisfy tight accuracy loss thresholds, while significantly reducing energy consumption without any need for intensive NN retraining. Our approach is evaluated against several NNs demonstrating that it delivers high energy savings (17.8% on average) with a minimal loss in inference accuracy (0.5%).

1 December 2019 in Electronics
Verified
Journal Article
Open access
PDF file
ZTZois-Gerasimos Tasoulas
Zois-Gerasimos Tasoulas
IAIraklis Anagnostopoulos
Iraklis Anagnostopoulos
Graphics processing units (GPUs) are extensively used as accelerators across multiple application domains, ranging from general purpose applications to neural networks, and cryptocurrency mining. The initial utilization paradigm for GPUs was one application accessing all the resources of the GPU. In recent years, time sharing is broadly used among applications of a GPU, nevertheless, spatial sharing is not fully explored. When concurrent applications share the computational resources of a GPU, performance can be improved by eliminating idle resources. Additionally, the incorporation of GPUs in embedded and mobile devices increases the demand for power efficient computation due to battery limitations. In this article, we present an allocation methodology for streaming multiprocessors (SMs). The presented methodology works for two concurrent applications on a GPU and determines an allocation scheme that will provide power efficient application execution, combined with improved GPU performance. Experimental results show that the developed methodology yields higher throughput while achieving improved power efficiency, compared to other SM power-aware and performance-aware policies. If the presented methodology is adopted, it will lead to higher performance of applications that are concurrently executing on a GPU. This will lead to a faster and more efficient acceleration of execution, even for devices with restrained energy sources.

1 October 2018
Verified
Conference Paper
Closed access
ZTZois-Gerasimos Tasoulas
Zois-Gerasimos Tasoulas
RGRyan Guss
Ryan Guss
IAIraklis Anagnostopoulos
Iraklis Anagnostopoulos
GPUs are an important part in the effort to overcome performance thresholds and unlock the true potential of computing as they offer increased computational capabilities and are cost efficient. Until now, GPUs are designed to execute one application at a time so the field of concurrent GPU applications is not exhaustively explored. When multiple applications that belong to different types, e.g., compute or memory intensive, are executed on the same platform concurrently, significant performance degradation and imbalances in terms of component aging may occur. These imbalances can lead to weak system reliability, further performance degradation and acceleration of failure time. In this paper, we propose a resource allocating algorithm that mitigates the aging imbalances without inserting overhead during the execution, limiting aging imbalance among Streaming Multiprocessors (SMs) to a standard deviation of 0.4%. Additionally, the proposed algorithm improves SM allocation for each application, achieving up to 33% higher throughput.

15 August 2019 in IEEE Transactions on Circuits and Systems I: Regular Papers
Verified
Journal Article
Closed access
ZTZois-Gerasimos Tasoulas
Zois-Gerasimos Tasoulas
IAIraklis Anagnostopoulos
Iraklis Anagnostopoulos
Graphics Processing Units (GPUs) have been established as a major part of modern computing systems. As technology scales down, GPUs integrate more computing elements that accelerate massively parallel applications. Due to the increase of GPU cores, sophisticated resource allocation techniques are required in order to take advantage of the underlying architecture. At the same time, circuit aging rises as a challenging problem due to the reduction of chip dimensions, temperature, and utilization of GPU resources. Aging increases the switching delay of the transistors resulting in performance degradation, synchronization and lifetime problems. This becomes more prominent in GPUs due to the different behavior and characteristics of GPU applications. Applications utilize differently the computing resources and they consequently result in imbalanced aging. In this paper, we employ a kernel-based resource allocation for optimizing GPU throughput while simultaneously minimizing the activity divergence of Streaming Multiprocessors (SMs). The proposed methodology achieves improved throughput by effectively utilizing the characteristics of the application kernels offloaded on the platform, and reduced aging divergence among the SMs. Results show that our technique improves the GPU throughput by 18% and 13.8% for different GPU micro-architectures, while minimizing the aging divergence up to 89.6% comparing to other aging-aware methodologies.

8 May 2018 in IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems
Verified
Journal Article
Closed access
ZTZois-Gerasimos Tasoulas
Zois-Gerasimos Tasoulas
IAIraklis Anagnostopoulos
Iraklis Anagnostopoulos
LPLazaros Papadopoulos
Lazaros Papadopoulos
DSDimitrios Soudris
Dimitrios Soudris
Implementation of concurrent data structures in architectures that provide limited synchronization primitives is a critical challenge. Typical lock-based implementations suffer from well-known problems such as poor scalability and unfairness. In this work, we propose a client-server based synchronization model that can be applied in data structures with low level of parallelism for Distributed Shared Memory many-core systems that support also message-passing communication. Additionally, we utilize a programmable hardware accelerator with appropriate application interfaces to overcome the performance-flexibility dilemma. Experimental results show that the proposed work performs 20× faster than the single lock model with 88× less idle cycles and 7× less power consumption.

1 December 2018
Verified
Conference Paper
Closed access
ZTZois-Gerasimos Tasoulas
Zois-Gerasimos Tasoulas
IAIraklis Anagnostopoulos
Iraklis Anagnostopoulos
GPUs are nowadays major parts of high performance computing systems. They provide high rates of computation capabilities and are ideal for number crunching applications. Providing methods that will further boost GPU throughput can have a distinctive impact in computing and accelerate many operations. At the same time, continuous usage of computing systems raises the demand for hardware designs that will ensure system reliability and potentially improve performance during a system's lifetime. This paper presents an allocation method for GPU processing units that improves applications' throughput, even by 33%, without sacrificing usage homogeneity among the computing resources of the GPU, and minimizes reliability issues.