kth.sePublications
Change search
Link to record
Permanent link

Direct link
Publications (10 of 124) Show all publications
Segeljakt, K., Haridi, S. & Carbone, P. (2024). AquaLang: A Dataflow Programming Language. In: DEBS 2024 - Proceedings of the 18th ACM International Conference on Distributed and Event-Based Systems: . Paper presented at 18th ACM International Conference on Distributed and Event-Based Systems, DEBS 2024, Villeurbanne, France, Jun 25 2024 - Jun 28 2024 (pp. 42-53). Association for Computing Machinery (ACM)
Open this publication in new window or tab >>AquaLang: A Dataflow Programming Language
2024 (English)In: DEBS 2024 - Proceedings of the 18th ACM International Conference on Distributed and Event-Based Systems, Association for Computing Machinery (ACM) , 2024, p. 42-53Conference paper, Published paper (Refereed)
Abstract [en]

Dataflow systems are widely used today for building and running continuous data-intensive applications. However, the unavoidable semantic gap between the host languages of dataflow system libraries and the dataflow model creates programmability limitations that hinder performance, safety, and ease of use. We propose AquaLang, a new language designed for dataflow systems. Programs in AquaLang blend strongly typed relational and functional syntax and are verified using an effect system that prevents undefined behaviour that can occur when introducing user-defined logic that violates dataflow semantics. Unverified external code is also feasible in AquaLang through the novel use of sandboxing. Furthermore, on top of standard dataflow optimisations employed by current systems, AquaLang's ability to analyze algebraic properties of user-defined functions further unlocks the potential of deeper dataflow program re-writing. In our evaluation, we measure up to one order of magnitude speedup for Nexmark queries against hand-written Flink programs attributed to pushdown and window incrementalisation techniques.

Place, publisher, year, edition, pages
Association for Computing Machinery (ACM), 2024
Keywords
Data Streams, Dataflow Systems, Programming Languages
National Category
Computer Sciences
Identifiers
urn:nbn:se:kth:diva-351925 (URN)10.1145/3629104.3666030 (DOI)001283849100006 ()2-s2.0-85200659561 (Scopus ID)
Conference
18th ACM International Conference on Distributed and Event-Based Systems, DEBS 2024, Villeurbanne, France, Jun 25 2024 - Jun 28 2024
Note

Part of ISBN 9798400704437

QC 20240827

Available from: 2024-08-19 Created: 2024-08-19 Last updated: 2024-09-10Bibliographically approved
Basloom, H., Dahab, M., Al-Ghamdi, A. S., Eassa, F., Alghamdi, A. M. & Haridi, S. (2023). A Parallel Hybrid Testing Technique for Tri-Programming Model-Based Software Systems. Computers, Materials and Continua, 74(2), 4501-4530
Open this publication in new window or tab >>A Parallel Hybrid Testing Technique for Tri-Programming Model-Based Software Systems
Show others...
2023 (English)In: Computers, Materials and Continua, ISSN 1546-2218, E-ISSN 1546-2226, Vol. 74, no 2, p. 4501-4530Article in journal (Refereed) Published
Abstract [en]

Recently, researchers have shown increasing interest in combining more than one programming model into systems running on high performance computing systems (HPCs) to achieve exascale by applying parallelism at multiple levels. Combining different programming paradigms, such as Message Passing Interface (MPI), Open Multiple Processing (OpenMP), and Open Accelerators (OpenACC), can increase computation speed and improve performance. During the integration of multiple models, the probability of runtime errors increases, making their detection difficult, especially in the absence of testing techniques that can detect these errors. Numerous studies have been conducted to identify these errors, but no technique exists for detecting errors in three-level programming models. Despite the increasing research that integrates the three programming models, MPI, OpenMP, and OpenACC, a testing technology to detect runtime errors, such as deadlocks and race conditions, which can arise from this integration has not been developed. Therefore, this paper begins with a definition and explanation of runtime errors that result fromintegrating the three programming models that compilers cannot detect. For the first time, this paper presents a classification of operational errors that can result from the integration of the three models. This paper also proposes a parallel hybrid testing technique for detecting runtime errors in systems built in the C++ programming language that uses the triple programming models MPI, OpenMP, and OpenACC. This hybrid technology combines static technology and dynamic technology, given that some errors can be detected using static techniques, whereas others can be detected using dynamic technology. The hybrid technique can detect more errors because it combines two distinct technologies. The proposed static technology detects a wide range of error types in less time, whereas a portion of the potential errors that may or may not occur depending on the operating environment are left to the dynamic technology, which completes the validation.

Place, publisher, year, edition, pages
Computers, Materials and Continua (Tech Science Press), 2023
Keywords
Software testing, hybrid testing technique, OpenACC, OpenMP, MPI, tri-programming model, exascale computing
National Category
Computer Sciences
Identifiers
urn:nbn:se:kth:diva-324748 (URN)10.32604/cmc.2023.033928 (DOI)000926448000010 ()2-s2.0-85141896301 (Scopus ID)
Note

QC 20230316

Available from: 2023-03-16 Created: 2023-03-16 Last updated: 2023-05-02Bibliographically approved
Ng, H., Haridi, S. & Carbone, P. (2023). Omni-Paxos: Breaking the Barriers of Partial Connectivity. In: PROCEEDINGS OF THE EIGHTEENTH EUROPEAN CONFERENCE ON COMPUTER SYSTEMS, EUROSYS 2023: . Paper presented at 18th European Conference on Computer Systems (EuroSys), MAY 08-12, 2023, Sapienza Univ Rome, Rome, ITALY (pp. 314-330). Association for Computing Machinery (ACM)
Open this publication in new window or tab >>Omni-Paxos: Breaking the Barriers of Partial Connectivity
2023 (English)In: PROCEEDINGS OF THE EIGHTEENTH EUROPEAN CONFERENCE ON COMPUTER SYSTEMS, EUROSYS 2023, Association for Computing Machinery (ACM) , 2023, p. 314-330Conference paper, Published paper (Refereed)
Abstract [en]

Omni-Paxos is a system for state machine replication that is completely resilient to partial network partitions, a major source of service disruptions in recent years. Omni-Paxos achieves its resilience through a decoupled design that separates the execution and state of leader election from log replication. The leader election builds on the concept of quorum-connected servers, with the sole focus on connectivity. Additionally, by decoupling reconfiguration from log replication, Omni-Paxos provides flexible and parallel log migration that improves the performance and robustness of reconfiguration. Our evaluation showcases two benefits over state-of-the-art protocols: (1) guaranteed recovery in at most four election timeouts under extreme partial network partitions, and (2) up to 8x shorter reconfiguration periods with 46% less I/O at the leader.

Place, publisher, year, edition, pages
Association for Computing Machinery (ACM), 2023
Keywords
consensus, state machine replication, partial connectivity, reconfiguration
National Category
Computer Engineering
Identifiers
urn:nbn:se:kth:diva-338157 (URN)10.1145/3552326.3587441 (DOI)001062106700020 ()2-s2.0-85160212180 (Scopus ID)
Conference
18th European Conference on Computer Systems (EuroSys), MAY 08-12, 2023, Sapienza Univ Rome, Rome, ITALY
Note

Part of proceedings ISBN 978-1-4503-9487-1

QC 20231016

Available from: 2023-10-16 Created: 2023-10-16 Last updated: 2023-10-16Bibliographically approved
Alsayfi, M. S., Dahab, M. Y., Eassa, F. E., Salama, R., Haridi, S. & Al-Ghamdi, A. S. (2022). Big Data in Vehicular Cloud Computing: Review, Taxonomy, and Security Challenges. ELEKTRONIKA IR ELEKTROTECHNIKA, 28(2), 59-71
Open this publication in new window or tab >>Big Data in Vehicular Cloud Computing: Review, Taxonomy, and Security Challenges
Show others...
2022 (English)In: ELEKTRONIKA IR ELEKTROTECHNIKA, ISSN 1392-1215, Vol. 28, no 2, p. 59-71Article, review/survey (Refereed) Published
Abstract [en]

Modern vehicles equipped with various smart sensors have become a means of transportation and have become a means of collecting, creating, computing, processing, and transferring data while traveling through modern and rural cities. A traditional vehicular ad hoc network (VANET) cannot handle the enormous and complex data that are collected by modern vehicle sensors (e.g., cameras, lidar, and global positioning systems (GPS)) because they require rapid processing, analysis, management, storage, and uploading to trusted national authorities. Furthermore, the integrated VANET with cloud computing presents a new concept, vehicular cloud computing (VCC), which overcomes the limitations of VANET, brings new services and applications to vehicular networks, and generates a massive amount of data compared to the data collected by individual vehicles alone. Therefore, this study explored the importance of big data in VCC. First, we provide an overview of traditional vehicular networks and their limitations. Then we investigate the relationship between VCC and big data, fundamentally focusing on how VCC can generate, transmit, store, upload, and process big data to share it among vehicles on the road. Subsequently, a new taxonomy of big data in VCC was presented. Finally, the security challenges in big data-based VCCs are discussed.

Place, publisher, year, edition, pages
Kaunas University of Technology (KTU), 2022
Keywords
Big data, Security, Traditional vehicular network, Vehicular cloud computing, On-board unit
National Category
Astronomy, Astrophysics and Cosmology Computer Engineering Computer Sciences
Identifiers
urn:nbn:se:kth:diva-316740 (URN)10.5755/j02.eie.30178 (DOI)000838598100006 ()2-s2.0-85129802090 (Scopus ID)
Note

QC 20220830

Available from: 2022-08-30 Created: 2022-08-30 Last updated: 2022-09-07Bibliographically approved
Basloom, H. S., Dahab, M. Y., Alghamdi, A. M., Eassa, F. E., Al-Ghamdi, A.-M. S. & Haridi, S. (2022). Errors Classification and Static Detection Techniques for Dual-Programming Model (OpenMP and OpenACC). IEEE Access, 10, 117808-117826
Open this publication in new window or tab >>Errors Classification and Static Detection Techniques for Dual-Programming Model (OpenMP and OpenACC)
Show others...
2022 (English)In: IEEE Access, E-ISSN 2169-3536, Vol. 10, p. 117808-117826Article in journal (Refereed) Published
Abstract [en]

Recently, incorporating more than one programming model into a system designed for high performance computing (HPC) has become a popular solution to implementing parallel systems. Since traditional programming languages, such as C, C++, and Fortran, do not support parallelism at the level of multi-core processors and accelerators, many programmers add one or more programming models to achieve parallelism and accelerate computation efficiently. These models include Open Accelerators (OpenACC) and Open Multi-Processing (OpenMP), which have recently been used with various models, including Message Passing Interface (MPI) and Compute Unified Device Architecture (CUDA). Due to the difficulty of predicting the behavior of threads, runtime errors cannot be predicted. The compiler cannot identify runtime errors such as data races, race conditions, deadlocks, or livelocks. Many studies have been conducted on the development of testing tools to detect runtime errors when using programming models, such as the combinations of OpenACC with MPI models and OpenMP with MPI. Although more applications use OpenACC and OpenMP together, no testing tools have been developed to test these applications to date. This paper presents a testing tool for detecting runtime using a static testing technique. This tool can detect actual and potential runtime errors during the integration of the OpenACC and OpenMP models into systems developed in C++. This tool implement error dependency graphs, which are proposed in this paper. Additionally, a dependency graph of the errors is provided, along with a classification of runtime errors that result from combining the two programming models mentioned earlier.

Place, publisher, year, edition, pages
Institute of Electrical and Electronics Engineers (IEEE), 2022
Keywords
Parallel programming, high-performance computing, OpenMP, OpenACC, deadlock, runtime errors, race condition, static testing, software testing, testing tools classifications, exascale systems, programming models
National Category
Computer Sciences Computer Systems
Identifiers
urn:nbn:se:kth:diva-322203 (URN)10.1109/ACCESS.2022.3219406 (DOI)000886158500001 ()2-s2.0-85141604340 (Scopus ID)
Note

QC 20221206

Available from: 2022-12-06 Created: 2022-12-06 Last updated: 2022-12-06Bibliographically approved
Alsayfi, M. S., Dahab, M. Y., Eassa, F. E., Salama, R., Haridi, S. & Al-Ghamdi, A. S. (2022). Securing Real-Time Video Surveillance Data in Vehicular Cloud Computing: A Survey. IEEE Access, 10, 51525-51547
Open this publication in new window or tab >>Securing Real-Time Video Surveillance Data in Vehicular Cloud Computing: A Survey
Show others...
2022 (English)In: IEEE Access, E-ISSN 2169-3536, Vol. 10, p. 51525-51547Article in journal (Refereed) Published
Abstract [en]

Vehicular ad hoc networks (VANETs) have received a great amount of interest, especially in wireless communications technology. In VANETs, vehicles are equipped with various intelligent sensors that can collect real-time data from inside and from surrounding vehicles. These real-time data require powerful computation, processing, and storage. However, VANETs cannot manage these real-time data because of the limited storage capacity in on board unit (OBU). To address this limitation, a new concept is proposed in which a VANET is integrated with cloud computing to form vehicular cloud computing (VCC) technology. VCC can manage real-time services, such as real-time video surveillance data that are used for monitoring critical events on the road. These real-time video surveillance data include highly sensitive data that should be protected against intruders in the networks because any manipulation, alteration, or sniffing of data will affect a driver's life by causing improper decision-making. The security and privacy of real-time video surveillance data are major challenges in VCC. Therefore, this study reviewed the importance of the security and privacy of real-time video data in VCC. First, we provide an overview of VANETs and their limitations. Second, we provide a state-of-the-art taxonomy for real-time video data in VCC. Then, the importance of real-time video surveillance data in both fifth generation (5G), and sixth generation (6G) networks is presented. Finally, the challenges and open issues of real-time video data in VCC are discussed.

Place, publisher, year, edition, pages
Institute of Electrical and Electronics Engineers (IEEE), 2022
Keywords
Real-time systems, Streaming media, Video surveillance, Roads, Cloud computing, Safety, Vehicular ad hoc networks, 5G, 6G, privacy, security, vehicular ad hoc network, vehicular cloud computing, real-time video data
National Category
Computer Sciences
Identifiers
urn:nbn:se:kth:diva-314222 (URN)10.1109/ACCESS.2022.3174554 (DOI)000797425600001 ()2-s2.0-85130835329 (Scopus ID)
Note

QC 20220617

Available from: 2022-06-17 Created: 2022-06-17 Last updated: 2022-06-25Bibliographically approved
Zeng, J., Issa, S., Romano, P., Rodrigues, D. & Haridi, S. (2021). Investigating the semantics of futures in transactional memory systems. In: Proceedings of the ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP: . Paper presented at 26th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 2021, 27 February 2021 through 3 March 2021 (pp. 16-30). Association for Computing Machinery (ACM)
Open this publication in new window or tab >>Investigating the semantics of futures in transactional memory systems
Show others...
2021 (English)In: Proceedings of the ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP, Association for Computing Machinery (ACM) , 2021, p. 16-30Conference paper, Published paper (Refereed)
Abstract [en]

This paper investigates the problem of integrating two powerful abstractions for concurrent programming, namely futures and transactional memory. Our focus is on specifying the semantics of execution of "transactional futures", i.e., futures that execute as atomic transactions and that are spawned/evaluated by other (plain) transactions or transactional futures. We show that, due to the ability of futures to generate parallel computations with complex dependencies, there exist several plausible (i.e., intuitive) alternatives for defining the isolation and atomicity semantics of transactional futures. The alternative semantics we propose explore different trade-offs between ease of use and efficiency. We have implemented the proposed semantics by introducing a graph-based software transactional memory algorithm, which we integrated with a state of the art JAVA-based Software Transactional Memory (STM). We quantify the performance trade-offs associated with the different semantics using an extensive experimental study encompassing a wide range of diverse workloads.

Place, publisher, year, edition, pages
Association for Computing Machinery (ACM), 2021
Keywords
concurrency control, futures, parallel programming, software transactional memory, synchronization, Commerce, Computer software, Economic and social effects, Graph algorithms, Graphic methods, Semantics, Storage allocation (computer), Alternative Semantics, Atomic transaction, Concurrent programming, Parallel Computation, Performance trade-off, State of the art, Transactional memory, Electronic trading
National Category
Computer Sciences
Identifiers
urn:nbn:se:kth:diva-305847 (URN)10.1145/3437801.3441594 (DOI)2-s2.0-85101692880 (Scopus ID)
Conference
26th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 2021, 27 February 2021 through 3 March 2021
Note

Part of proceedings: ISBN 9781450382946, QC 20230118

Available from: 2021-12-15 Created: 2021-12-15 Last updated: 2023-01-18Bibliographically approved
Haridi, S. (2020). A history of the Oz multiparadigm language. History of Programming Languages HOPL-4, 4(HOPL), 1-56, Article ID 10.1145/3386333.
Open this publication in new window or tab >>A history of the Oz multiparadigm language
2020 (English)In: History of Programming Languages HOPL-4, E-ISSN 2475-1421, Vol. 4, no HOPL, p. 1-56, article id 10.1145/3386333Article in journal (Refereed) Published
Abstract [en]

Oz is a programming language designed to support multiple programming paradigms in a clean factored way that is easy to program despite its broad coverage. It started in 1991 as a collaborative effort by the DFKI (Germany) and SICS (Sweden) and led to an influential system, Mozart, that was released in 1999 and widely used in the 2000s for practical applications and education. We give the history of Oz as it developed from its origins in logic programming, starting with Prolog, followed by concurrent logic programming and constraint logic programming, and leading to its two direct precursors, the concurrent constraint model and the Andorra Kernel Language (AKL). We give the lessons learned from the Oz effort including successes and failures and we explain the principles underlying the Oz design. Oz is defined through a kernel language, which is a formal model similar to a foundational calculus, but that is designed to be directly useful to the programmer. The kernel language is organized in a layered structure, which makes it straightforward to write programs that use different paradigms in different parts. Oz is a key enabler for the book Concepts, Techniques, and Models of Computer Programming (MIT Press, 2004). Based on the book and the implementation, Oz has been used successfully in university-level programming courses starting from 2001 to the present day.

Place, publisher, year, edition, pages
ACM Digital Library, 2020
National Category
Computer and Information Sciences
Research subject
Computer Science; Computer Science
Identifiers
urn:nbn:se:kth:diva-278174 (URN)10.1145/3386333 (DOI)000685202900016 ()2-s2.0-85091278047 (Scopus ID)
Note

QC 20220112

Available from: 2020-07-07 Created: 2020-07-07 Last updated: 2022-06-26Bibliographically approved
Eassa, F. E., Alghamdi, A. M., Haridi, S., Khemakhem, M. A., Al-Ghamdi, A.-M. S. A. & Alsolami, E. A. (2020). ACC_TEST: Hybrid Testing Approach for OpenACC-Based Programs. IEEE Access, 8, 80358-80368
Open this publication in new window or tab >>ACC_TEST: Hybrid Testing Approach for OpenACC-Based Programs
Show others...
2020 (English)In: IEEE Access, E-ISSN 2169-3536, Vol. 8, p. 80358-80368Article in journal (Refereed) Published
Abstract [en]

In recent years, OpenACC has been used in many supercomputers and attracted many non-computer science specialists for parallelizing their programs in different scientific fields, including weather forecasting and simulations. OpenACC is a high-level programming model that supports parallelism and is easy to learn to use by adding high-level directives without considering too many low-level details. Testing parallel programs is a difficult task, made even harder if using programming models, especially if they have been badly programmed. If so, it will be challenging to detect their runtime errors as well as their causes, whether the error is from the user source code or from the programming model directives. Even when these errors are detected and the source code modified, we cannot guarantee that the errors have been corrected or are still hidden. There are many tools and studies that have investigated several programming models for identifying and detecting related errors. However, OpenACC has not been targeted clearly in any testing tool or previous studies, even though OpenACC has many benefits and features that could lead to increasing use in achieving parallel systems with less effort. In this paper, we enhance ACC_TEST with the ability to test OpenACC-based programs and detect runtime errors by using hybrid-testing techniques that enhance error coverage occurring in OpenACC as well as overheads and testing time.

Place, publisher, year, edition, pages
Institute of Electrical and Electronics Engineers (IEEE), 2020
Keywords
OpenACC, OpenACC testing tool, hybrid-testing techniques, parallel programming, ACC_TEST
National Category
Computer Sciences
Identifiers
urn:nbn:se:kth:diva-279275 (URN)10.1109/ACCESS.2020.2991009 (DOI)000549844500001 ()2-s2.0-85084932237 (Scopus ID)
Note

QC 20200914

Available from: 2020-09-14 Created: 2020-09-14 Last updated: 2022-06-25Bibliographically approved
Ismail, M., Niazi, S., Sundell, M., Ronstrom, M., Haridi, S. & Dowling, J. (2020). Distributed Hierarchical File Systems strike back in the Cloud. In: 2020 IEEE 40th international conference on distributed computing systems (ICDCS): . Paper presented at 40th IEEE International Conference on Distributed Computing Systems (ICDCS), NOV 29-DEC 01, 2020, ELECTR NETWORK (pp. 820-830). Institute of Electrical and Electronics Engineers (IEEE)
Open this publication in new window or tab >>Distributed Hierarchical File Systems strike back in the Cloud
Show others...
2020 (English)In: 2020 IEEE 40th international conference on distributed computing systems (ICDCS), Institute of Electrical and Electronics Engineers (IEEE) , 2020, p. 820-830Conference paper, Published paper (Refereed)
Abstract [en]

Cloud service providers have aligned on availability zones as an important unit of failure and replication for storage systems. An availability zone (AZ) has independent power, networking, and cooling systems and consists of one or more data centers. Multiple AZs in close geographic proximity form a region that can support replicated low latency storage services that can survive the failure of one or more AZs. Recent reductions in inter-AZ latency have made synchronous replication protocols increasingly viable, instead of traditional quorum-based replication protocols. We introduce HopsFS-CL, a distributed hierarchical file system with support for high-availability (HA) across AZs, backed by AZ-aware synchronously replicated metadata and AZ-aware block replication. HopsFS-CL is a redesign of HopsFS, a version of HDFS with distributed metadata, and its design involved making replication protocols and block placement protocols AZ-aware at all layers of its stack: the metadata serving, the metadata storage, and block storage layers. In experiments on a real-world workload from Spotify, we show that HopsFS-CL, deployed in HA mode over 3 AZs, reaches 1.66 million ops/s, and has similar performance to HopsFS when deployed in a single AZ, while preserving the same semantics.

Place, publisher, year, edition, pages
Institute of Electrical and Electronics Engineers (IEEE), 2020
Series
IEEE International Conference on Distributed Computing Systems, ISSN 1063-6927
National Category
Computer Systems
Identifiers
urn:nbn:se:kth:diva-299114 (URN)10.1109/ICDCS47774.2020.00108 (DOI)000667971400075 ()2-s2.0-85101968318 (Scopus ID)
Conference
40th IEEE International Conference on Distributed Computing Systems (ICDCS), NOV 29-DEC 01, 2020, ELECTR NETWORK
Note

QC 20210803

Not duplicate with DiVA 1467134

Available from: 2021-08-03 Created: 2021-08-03 Last updated: 2022-06-25Bibliographically approved
Organisations
Identifiers
ORCID iD: ORCID iD iconorcid.org/0000-0002-6718-0144

Search in DiVA

Show all publications