Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Seif Haridi

dblp:h/SeifHaridi · DBLP profile ↗
← Back
67ranked-venue papers
5as first author
2since 2021 · last 2023
0000-0002-6718-0144ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Systems, architecture and hardware · 26 · 2 first-author · 2 since 2021Computer networks · 12Software engineering, systems software and programming languages · 10 · 3 first-authorDatabases, data management, data science and information retrieval · 5Theory of computation · 4 · 2 first-authorGraphics, computer vision, multimedia, augmented reality and games · 2Artificial intelligence and machine learning · 1

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Computer architecture, parallel and distributed computing, and storage systems
9 papers
Distributed systems · 88% Storage systems · 12% Memory systems · 0%
Software engineering, system software, and programming languages
3 papers
Concurrent programming · 78% Programming languages and type systems · 20% Services computing and microservices · 2%
Databases, data mining, and information retrieval
2 papers
Graph data management · 54% Data stream processing · 46%

Topics — the 24 heaviest of 28, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Distributed systems
fault tolerance
0.922023
Omni-Paxos: Breaking the Barriers of Partial Connectivity · EuroSys 2023
State Management in Apache Flink®: Consistent Stateful Distributed Stream Processing · Proc. VLDB Endow. 2017
Distributed systems
consensus
0.712023
Omni-Paxos: Breaking the Barriers of Partial Connectivity · EuroSys 2023
Distributed systems › consensus
paxos
0.712023
Omni-Paxos: Breaking the Barriers of Partial Connectivity · EuroSys 2023
Distributed systems › replication
state machine replication
0.712023
Omni-Paxos: Breaking the Barriers of Partial Connectivity · EuroSys 2023
Concurrent programming
transactional memory
0.512021
Investigating the semantics of futures in transactional memory systems · PPoPP 2021
Graph data management
distributed graph processing
0.312018
High-Level Programming Abstractions for Distributed Graph Processing · IEEE Trans. Knowl. Data Eng. 2018
Distributed systems
distributed graph processing
0.312018
High-Level Programming Abstractions for Distributed Graph Processing · IEEE Trans. Knowl. Data Eng. 2018
Distributed systems › distributed algorithms › distributed snapshot
consistent snapshots
0.312017
State Management in Apache Flink®: Consistent Stateful Distributed Stream Processing · Proc. VLDB Endow. 2017
Storage systems › file systems
distributed file system
0.312017
HopsFS: Scaling Hierarchical File System Metadata Using NewSQL Databases · FAST 2017
Storage systems › metadata management
metadata scalability
0.312017
HopsFS: Scaling Hierarchical File System Metadata Using NewSQL Databases · FAST 2017
Distributed systems › distributed coordination
leader election
0.212023
Omni-Paxos: Breaking the Barriers of Partial Connectivity · EuroSys 2023
Distributed systems › peer-to-peer systems › overlay networks
structured overlay
0.222008
An analytical study of a structured overlay in the presence of dynamic membership · IEEE/ACM Trans. Netw. 2008
Key-based consistency and availability in structured overlay networks · HPDC 2008
Concurrent programming › parallel programming models
futures
0.112021
Investigating the semantics of futures in transactional memory systems · PPoPP 2021
Programming languages and type systems
language semantics
0.112021
Investigating the semantics of futures in transactional memory systems · PPoPP 2021
Distributed systems
consistency and availability tradeoff
0.112008
Key-based consistency and availability in structured overlay networks · HPDC 2008
Distributed systems
distributed coordination and fault tolerance
0.112008
Key-based consistency and availability in structured overlay networks · HPDC 2008
Distributed systems › group communication › group membership
dynamic membership
0.112008
An analytical study of a structured overlay in the presence of dynamic membership · IEEE/ACM Trans. Netw. 2008
Distributed systems
distributed programming
0.011999
Efficient logic variables for distributed computing · ACM Trans. Program. Lang. Syst. 1999
Services computing and microservices › middleware
distributed objects
0.011997
Mobile Objects in Distributed Oz · ACM Trans. Program. Lang. Syst. 1997
Programming languages and type systems › language semantics › formal semantics
object-oriented language semantics
0.011997
Mobile Objects in Distributed Oz · ACM Trans. Program. Lang. Syst. 1997
Distributed systems › distributed programming
distributed programming languages
0.011997
Mobile Objects in Distributed Oz · ACM Trans. Program. Lang. Syst. 1997
Memory systems
memory consistency
0.011991
Race-Free Interconnection Networks and Multiprocessor Consistency · ISCA 1991
Memory systems › memory consistency › memory consistency model
sequential consistency
0.011991
Race-Free Interconnection Networks and Multiprocessor Consistency · ISCA 1991
Distributed systems › distributed mobile computing
mobile agents
0.011997
Mobile Objects in Distributed Oz · ACM Trans. Program. Lang. Syst. 1997

Methods — techniques the papers use, named apart from their topics

parallel log migration · 0.7decoupled leader election · 0.7pipelined in-flight snapshot · 0.6coarse grained rollback recovery · 0.6software transactional memory · 0.5graph-based STM · 0.5lookup consistency analysis · 0.1analytical modeling · 0.1distributed rational tree unification · 0.0operational semantics · 0.0network transparency proof · 0.0
YearPublicationVenuePosition
2023 Omni-Paxos: Breaking the Barriers of Partial Connectivity
abstract
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.
Harald Ng, Seif Haridi, Paris Carbone
EuroSys2
2021 Investigating the semantics of futures in transactional memory systems
abstract
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.
Jingna Zeng, Shady Issa, Paolo Romano 0002, Luís E. T. Rodrigues, Seif Haridi
PPoPP5
2020 Distributed Hierarchical File Systems strike back in the Cloud
abstract
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.
Salman Niazi, Mauritz Sundell, Mikael Ronström, Seif Haridi, Jim Dowling
ICDCS5
2020 Giving Future(s) to Transactional Memory
Jingna Zeng, Seif Haridi, Shady Issa, Paolo Romano 0002, Luís E. T. Rodrigues
SPAA2
2020 A history of the Oz multiparadigm language
abstract
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 bookConcepts, 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.
Peter Van Roy, Seif Haridi, Christian Schulte 0001, Gert Smolka
Proc. ACM Program. Lang.2
2019 ePipe: Near Real-Time Polyglot Persistence of HopsFS Metadata
abstract
Distributed OLTP databases are now used to manage metadata for distributed file systems, but they cannot also efficiently support complex queries or aggregations. To solve this problem, we introduce ePipe, a databus that both creates a consistent change stream for a distributed, hierarchical file system (HopsFS) and eventually delivers the correctly ordered stream with low latency to downstream clients. ePipe can be used to provide polyglot storage for file system metadata, allowing metadata queries to be handled by the most efficient engine for that query. For file system notifications, we show that ePipe achieves up to 56X throughput improvement over HDFS INotify and Trumpet with up to 3 orders of magnitude lower latency. For Spotify's Hadoop workload, we show that ePipe can replicate all file system changes from HopsFS to Elasticsearch with an average replication lag of only 330 ms.
Mikael Ronström, Seif Haridi, Jim Dowling
CCGRID3
2019 From Copernicus Big Data to Extreme Earth Analytics
abstract
Copernicus is the European programme for monitoring the Earth.It consists of a set of systems that collect data from satellites and in-situ sensors, process this data and provide users with reliable and up-to-date information on a range of environmental and security issues.The data and information processed and disseminated puts Copernicus at the forefront of the big data paradigm, giving rise to all relevant challenges, the so-called 5 Vs: volume, velocity, variety, veracity and value.In this short paper, we discuss the challenges of extracting information and knowledge from huge archives of Copernicus data.We propose to achieve this by scale-out distributed deep learning techniques that run on very big clusters offering virtual machines and GPUs.We also discuss the challenges of achieving scalability in the management of the extreme volumes of information and knowledge extracted from Copernicus data.The envisioned scientific and technical work will be carried out in the context of the H2020 project ExtremeEarth which starts in January 2019.
Manolis Koubarakis, Konstantina Bereta, Dimitris Bilidas, Konstantinos Giannousis, Theofilos Ioannidis, Despina-Athanasia Pantazi, George Stamoulis 0001, Jim Dowling, Seif Haridi, Vladimir Vlassov, Lorenzo Bruzzone, Claudia Paris, Torbjørn Eltoft, Thomas Krämer, Angelos Charalambidis, Vangelis Karkaletsis, Stasinos Konstantopoulos, Theofilos Kakantousis, Mihai Datcu, Corneliu Octavian Dumitru, Florian Appel, Heike Bach, Silke Migdall, Nicholas Hughes, David Arthurs, Andrew Fleming
EDBT9
2018 Online Tuning of Parallelism Degree in Parallel Nesting Transactional Memory
abstract
This paper addresses the problem of self-tuning the parallelism degree in Transactional Memory (TM) systems that support parallel nesting (PN-TM). This problem has been long investigated for TMs not supporting nesting, but, to the best of our knowledge, has never been studied in the context of PN-TMs. Indeed, the problem complexity is inherently exacerbated in PN-TMs, since these require to identify the optimal parallelism degree not only for top-level transactions but also for nested sub-transactions. The increase of the problem dimensionality raises new challenges (e.g., increase of the search space, and proneness to suffer from local maxima), which are unsatisfactorily addressed by self-tuning solutions conceived for flat nesting TMs. We tackle these challenges by proposing AUTOPN, an on-line self-tuning system that combines model-driven learning techniques with localized search heuristics in order to pursue a twofold goal: i) enhance convergence speed by identifying the most promising region of the search space via model-driven techniques, while ii) increasing robustness against modeling errors, via a final local search phase aimed at refining the model's prediction. We further address the problem of tuning the duration of the monitoring windows used to collect feedback on the system's performance, by introducing novel, domain-specific, mechanisms aimed to strike an optimal trade-off between latency and accuracy of the self-tuning process. We integrated AUTOPN with a state of the art PN-TM (JVSTM) and evaluated it via an extensive experimental study. The results of this study highlight that AUTOPN can achieve gains of up to 45× in terms of increased accuracy and 4× faster convergence speed, when compared with several on-line optimization techniques (gradient descent, simulated annealing and genetic algorithm), some of which were already successfully used in the context of flat nesting TMs.
Jingna Zeng, Paolo Romano 0002, João Barreto 0001, Luís E. T. Rodrigues, Seif Haridi
IPDPS5
2018 Size Matters: Improving the Performance of Small Files in Hadoop
abstract
The Hadoop Distributed File System (HDFS) is designed to handle massive amounts of data, preferably stored in very large files. The poor performance of HDFS in managing small files has long been a bane of the Hadoop community. In many production deployments of HDFS, almost 25% of the files are less than 16 KB in size and as much as 42% of all the file system operations are performed on these small files. We have designed an adaptive tiered storage using in-memory and on-disk tables stored in a high-performance distributed database to efficiently store and improve the performance of the small files in HDFS. Our solution is completely transparent, and it does not require any changes in the HDFS clients or the applications using the Hadoop platform. In experiments, we observed up to 61 times higher throughput in writing files, and for real-world workloads from Spotify our solution reduces the latency of reading and writing small files by a factor of 3.15 and 7.39 respectively.
Salman Niazi, Mikael Ronström, Seif Haridi, Jim Dowling
Middleware3
2018 High-Level Programming Abstractions for Distributed Graph Processing
abstract
Efficient processing of large-scale graphs in distributed environments has been an increasingly popular topic of research in recent years. Inter-connected data that can be modeled as graphs appear in application domains such as machine learning, recommendation, web search, and social network analysis. Writing distributed graph applications is inherently hard and requires programming models that can cover a diverse set of problems, including iterative refinement algorithms, graph transformations, graph aggregations, pattern matching, ego-network analysis, and graph traversals. Several high-level programming abstractions have been proposed and adopted by distributed graph processing systems and big data platforms. Even though significant work has been done to experimentally compare distributed graph processing frameworks, no qualitative study and comparison of graph programming abstractions has been conducted yet. In this survey, we review and analyze the most prevalent high-level programming models for distributed graph processing, in terms of their semantics and applicability. We review 34 distributed graph processing systems with respect to the graph processing models they implement and we survey applications that appear in recent distributed graph systems papers. Finally, we discuss trends and open research questions in the area of distributed graph processing.
Vasiliki Kalavri, Vladimir Vlassov, Seif Haridi
IEEE Trans. Knowl. Data Eng.3
2017 Scaling HDFS to more than 1 million operations per second with HopsFS
abstract
HopsFS is an open-source, next generation distribution of the Apache Hadoop Distributed File System (HDFS) that replaces the main scalability bottleneck in HDFS, single node in-memory metadata service, with a no-shared state distributed system built on a NewSQL database. By removing the metadata bottleneck in Apache HDFS, HopsFS enables significantly larger cluster sizes, more than an order of magnitude higher throughput, and significantly lower client latencies for large clusters. In this paper, we detail the techniques and optimizations that enable HopsFS to surpass 1 million file system operations per second - at least 16 times higher throughput than HDFS. In particular, we discuss how we exploit recent high performance features from NewSQL databases, such as application defined partitioning, partition-pruned index scans, and distribution aware transactions. Together with more traditional techniques, such as batching and write-ahead caches, we show how many incremental optimizations have enabled a revolution in distributed hierarchical file system performance.
Salman Niazi, Mikael Ronström, Seif Haridi, Jim Dowling
CCGrid4
2017 HopsFS: Scaling Hierarchical File System Metadata Using NewSQL Databases
Salman Niazi, Seif Haridi, Jim Dowling, Steffen Grohsschmiedt, Mikael Ronström
FAST3
2017 MeteorShower: Minimizing Request Latency for Majority Quorum-Based Data Consistency Algorithms in Multiple Data Centers
abstract
With the increasing popularity of serving and storing data in multiple data centers, we investigate the efficiency of majority quorum-based data consistency algorithms under this scenario. Because of the failure-prone nature of distributed storage systems, majority quorum-based data consistency algorithms become one of the most widely adopted approaches. In this paper, we propose the MeteorShower framework, which provides fault-tolerant read/write key-value storage service across multiple data centers with sequential consistency guarantees. A major feature is that most read operations are executed locally within a single data center. This results in lowering read latency from hundreds of milliseconds to tens of milliseconds. The data consistency algorithm in MeteorShower augments majority quorum-based algorithms. Thus, it keeps all the desirable properties of majority quorums, such as fault tolerance, balanced load, etc. An implementation of MeteorShower on top of Cassandra is deployed and evaluated in multiple data centers using the Google Cloud Platform. Evaluations of MeteorShower framework have shown that it can consistently serve read requests without paying the communication delays among replicas maintained in multiple data centers. As a result, we are able to improve the latency of read requests from hundreds of milliseconds to tens of milliseconds while achieving the same latency on write requests and the same fault tolerance guarantee. Thus, MeteorShower is optimized for read intensive workloads.
Ying Liu 0008, Xi Guan, Vladimir Vlassov, Seif Haridi
ICDCS4
2017 Hail to the Thief: Protecting data from mobile ransomware with ransomsafedroid
abstract
The growing popularity of Android and the increasing amount of sensitive data stored in mobile devices have lead to the dissemination of Android ransomware. Ransomware is a class of malware that makes data inaccessible by blocking access to the device or, more frequently, by encrypting the data; to recover the data, the user has to pay a ransom to the attacker. A solution for this problem is to backup the data. Although backup tools are available for Android, these tools may be compromised or blocked by the ransomware itself. This paper presents the design and implementation of RANSOMSAFEDROID, a TrustZone based backup service for mobile devices. RANSOMSAFEDROID is protected from malware by leveraging the ARM TrustZone extension and running in the secure world. It does backup of files periodically to a secure local persistent partition and pushes these backups to external storage to protect them from ransomware. Initially, RANSOMSAFEDROID does a full backup of the device filesystem, then it does incremental backups that save the changes since the last backup. As a proof-of-concept, we implemented a RANSOMSAFEDROID prototype and provide a performance evaluation using an i.MX53 development board.
Sileshi Demesie Yalew, Gerald Q. Maguire Jr., Seif Haridi, Miguel Correia 0001
NCA3
2017 DroidPosture: A trusted posture assessment service for mobile devices
abstract
Mobile devices such as smartphones are becoming the majority among computing devices. Currently, millions of persons use such devices to store and process personal data. Unfortunately, smartphones running Android are increasingly being targeted by hackers and infected with malware. Anti-malware software is being used to address this situation, but it may be subverted by the same malware it aims to detect. We present DroidPosture, a posture assessment service for Android devices. This service aims to securely evaluate the level of trust we can have on a device (assess its posture) even if the mobile OS is compromised. For that to be possible, DroidPosture is protected using TrustZone, a security extension for ARM processors. DroidPosture is configurable with a set of application and kernel analysis mechanisms that enable detecting malicious applications and rootkits. We implemented a DroidPosture prototype using a hardware board with an ARM processor with TrustZone, and evaluated its performance and security.
Sileshi Demesie Yalew, Gerald Q. Maguire Jr., Seif Haridi, Miguel Correia 0001
WiMob3
2017 TruApp: A TrustZone-based authenticity detection service for mobile apps
abstract
In less than a decade, mobile apps became an integral part of our lives. In several situations it is important to provide assurance that a mobile app is authentic, i.e., that it is indeed the app produced by a certain company. However, this is challenging, as such apps can be repackaged, the user malicious, or the app tampered with by an attacker. This paper presents the design of TRUAPP, a software authentication service that provides assurance of the authenticity and integrity of apps running on mobile devices. TRUAPP provides such assurance, even if the operating system is compromised, by leveraging the ARM TrustZone hardware security extension. TRUAPP uses a set of techniques (static watermarking, dynamic watermarking, and cryptographic hashes) to verify the integrity of the apps. The service was implemented in a hardware board that emulates a mobile device, which was used to do a thorough experimental evaluation of the service.
Sileshi Demesie Yalew, Pedro Mendonça, Gerald Q. Maguire Jr., Seif Haridi, Miguel Correia 0001
WiMob4
2017 State Management in Apache Flink®: Consistent Stateful Distributed Stream Processing
abstract
Stream processors are emerging in industry as an apparatus that drives analytical but also mission critical services handling the core of persistent application logic. Thus, apart from scalability and low-latency, a rising system need is first-class support for application state together with strong consistency guarantees, and adaptivity to cluster reconfigurations, software patches and partial failures. Although prior systems research has addressed some of these specific problems, the practical challenge lies on how such guarantees can be materialized in a transparent, non-intrusive manner that relieves the user from unnecessary constraints. Such needs served as the main design principles of state management in Apache Flink, an open source, scalable stream processor. We present Flink's core pipelined, in-flight mechanism which guarantees the creation of lightweight, consistent, distributed snapshots of application state, progressively, without impacting continuous execution. Consistent snapshots cover all needs for system reconfiguration, fault tolerance and version management through coarse grained rollback recovery. Application state is declared explicitly to the system, allowing efficient partitioning and transparent commits to persistent storage. We further present Flink's backend implementations and mechanisms for high availability, external state queries and output commit. Finally, we demonstrate how these mechanisms behave in practice with metrics and large-deployment insights exhibiting the low performance trade-offs of our approach and the general benefits of exploiting asynchrony in continuous, yet sustainable system deployments.
Paris Carbone, Stephan Ewen, Gyula Fóra, Seif Haridi, Stefan Richter 0007, Kostas Tzoumas
Proc. VLDB Endow.4
2016 Cutty: Aggregate Sharing for User-Defined Windows
abstract
Aggregation queries on data streams are evaluated over evolving and often overlapping logical views called windows. While the aggregation of periodic windows were extensively studied in the past through the use of aggregate sharing techniques such as Panes and Pairs, little to no work has been put in optimizing the aggregation of very common, non-periodic windows. Typical examples of non-periodic windows are punctuations and sessions which can implement complex business logic and are often expressed as user-defined operators on platforms such as Google Dataflow or Apache Storm. The aggregation of such non-periodic or user-defined windows either falls back to expensive, best-effort aggregate sharing methods, or is not optimized at all.
Paris Carbone, Jonas Traub, Asterios Katsifodimos, Seif Haridi, Volker Markl
CIKM4
2016 The Future(s) of Transactional Memory
abstract
This work investigates how to combine two powerful abstractions to manage concurrent programming: Transactional Memory (TM) and futures. The former hides from programmers the complexity of synchronizing concurrent access to shared data, via the familiar abstraction of atomic transactions. The latter serves to schedule and synchronize the parallel execution of computations whose results are not immediately required. While TM and futures are two widely investigated topics, the problem of how to exploit these two abstractions in synergy is still largely unexplored in the literature. This paper fills this gap by introducing Java Transactional Futures (JTF), a Java-based TM implementation that allows programmers to use futures to coordinate the execution of parallel tasks, while leveraging transactions to synchronize accesses to shared data. JTF provides a simple and intuitive semantic regarding the admissible serialization orders of the futures spawned by transactions, by ensuring that the results produced by a future are always consistent with those that one would obtain by executing the future sequentially. Our experimental results show that the use of futures in a TM allows not only to unlock parallelism within transactions, but also to reduce the cost of conflicts among top-level transactions in high contention workloads.
Jingna Zeng, João Barreto 0001, Seif Haridi, Luís E. T. Rodrigues, Paolo Romano 0002
ICPP3
2015 SmoothCache 2.0: CDN-quality adaptive HTTP live streaming on peer-to-peer overlays
abstract
In recent years, adaptive HTTP streaming protocols have become the de-facto standard in the industry for the distribution of live and video-on-demand content over the Internet. This paper presents SmoothCache 2.0, a distributed cache platform for adaptive HTTP live streaming content based on peer-to-peer (P2P) overlays. The contribution of this work is twofold. From a systems perspective, to the best of our knowledge, it is the only P2P platform which supports recent live streaming protocols based on HTTP as a transport and the concept of adaptive bitrate switching. From an algorithmic perspective, the system describes a novel set of overlay construction and prefetching techniques that realize: i) substantial savings in terms of the bandwidth load on the source of the stream, and ii) CDN-quality user experience in terms of playback latency and the watched bitrate. In order to support our claims, we conduct a methodical evaluation on thousands of real consumer machines.
Roberto Roverso, Riccardo Reale, Sameh El-Ansary, Seif Haridi
MMSys4
2015 A Distributed Algorithm for Large-Scale Graph Partitioning
abstract
Balanced graph partitioning is an NP-complete problem with a wide range of applications. These applications include many large-scale distributed problems, including the optimal storage of large sets of graph-structured data over several hosts. However, in very large-scale distributed scenarios, state-of-the-art algorithms are not directly applicable because they typically involve frequent global operations over the entire graph. In this article, we propose a fully distributed algorithm called J A - BE -J A that uses local search and simulated annealing techniques for two types of graph partitioning: edge-cut partitioning and vertex-cut partitioning. The algorithm is massively parallel: There is no central coordination, each vertex is processed independently, and only the direct neighbors of a vertex and a small subset of random vertices in the graph need to be known locally. Strict synchronization is not required. These features allow J A - BE -J A to be easily adapted to any distributed graph-processing system from data centers to fully distributed networks. We show that the minimal edge-cut value empirically achieved by J A - BE -J A is comparable to state-of-the-art centralized algorithms such as Metis. In particular, on large social networks, J A - BE -J A outperforms Metis. We also show that J A - BE -J A computes very low vertex-cuts, which are proved significantly more effective than edge-cuts for processing most real-world graphs.
Fatemeh Rahimian, Amir Hossein Payberah, Sarunas Girdzijauskas, Márk Jelasity, Seif Haridi
ACM Trans. Auton. Adapt. Syst.5
2014 Distributed Vertex-Cut Partitioning
Fatemeh Rahimian, Amir Hossein Payberah, Sarunas Girdzijauskas, Seif Haridi
DAIS4
2013 CATS: a linearizable and self-organizing key-value store
abstract
Distributed key-value stores provide scalable, fault-tolerant, and self-organizing storage services, but fall short of guaranteeing linearizable consistency in partially synchronous, lossy, partitionable, and dynamic networks, when data is distributed and replicated automatically by the principle of consistent hashing [14]. This work introduces consistent quorums as a solution for achieving atomic consistency. We present the design and implementation of CATS, a key-value store which uses consistent quorums to guarantee linearizability and partition tolerance in such adverse and dynamic network conditions. CATS is scalable, elastic, and self-organizing; key properties for modern cloud storage middleware. Our system evaluation shows that consistency can be achieved with practical performance and modest overhead: 5% decrease in throughput for read-intensive workloads, and 25% throughput loss for write-intensive workloads. CATS delivers submillisecond operation latencies under light load, single-digit millisecond operation latencies at 50% load, and it sustains a throughput of one thousand operations per second, per server, while scaling linearly to hundreds of servers.
Cosmin Arad, Tallat M. Shafaat, Seif Haridi
SoCC3
2013 Lightweight gossip-based distribution estimation
abstract
Monitoring the global state of an overlay network is vital for the self-management of peer-to-peer (P2P) systems. Gossip-based algorithms are a well-known technique that can provide nodes locally with aggregated knowledge about the state of the overlay network. In this paper, we present a gossip-based protocol to estimate the global distribution of attribute values stored across a set of nodes in the system. Our algorithm estimates the distribution both efficiently and accurately. The key contribution of our algorithm is that it has substantially lower overhead than existing distribution estimation algorithms. We evaluated our system in simulation, and compared it against the state-of-the-art solutions. The results show similar accuracy to its counterparts, but with a communication overhead of an order of magnitude lower than them.
Amir Hossein Payberah, Hanna Kavalionak, Alberto Montresor, Jim Dowling, Seif Haridi
ICC5
2013 Efficient Linearizable Write Operations Using Bounded Global Time Uncertainty
abstract
Distributed key-value stores employed in data centers treat each key-value pair as a shared memory register. For fault-tolerance and performance, each key-value pair is replicated. Various models exist for the consistency of data amongst the replicas. While atomic consistency, also known as linearizability, provides the strongest form of consistency for read and write operations, various key-value stores, such as Cassandra, and Dynamo, offer only eventual consistency instead. One main motivation for such a decision is performance degradation when guaranteeing atomic consistency. In this paper, we use time with known bounded uncertainty to improve the performance of write operations, while maintaining atomic consistency. We show how to use the concept of commit wait in a shared memory register to perform a write operation in one phase (message round trip), instead of two. We evaluate the solution experimentally by comparing it to ABD, a well-known algorithm for achieving atomic consistency in an asynchronous network, which uses two phases for write operations. We also compare our protocol to an eventually consistent register. Our experiments show an improved throughput, and lower write latency, compared to the ABD algorithm.
Daniela Bordencea, Tallat M. Shafaat, Cosmin Arad, Seif Haridi, Honoriu Valean
ISPDC4
2012 ID-Replication for Structured Peer-to-Peer Systems
Tallat M. Shafaat, Seif Haridi
Euro-Par3
2012 Message-Passing Concurrency for Scalable, Stateful, Reconfigurable Middleware
Cosmin Arad, Jim Dowling, Seif Haridi
Middleware3
2012 SmoothCache: HTTP-Live Streaming Goes Peer-to-Peer
Roberto Roverso, Sameh El-Ansary, Seif Haridi
Networking (2)3
2012 CLive: Cloud-assisted P2P live streaming
abstract
Peer-to-peer (P2P) video streaming is an emerging technology that reduces the barrier to stream live events over the Internet. Unfortunately, satisfying soft real-time constraints on the delay between the generation of the stream and its actual delivery to users is still a challenging problem. Bottlenecks in the available upload bandwidth, both at the media source and inside the overlay network, may limit the quality of service (QoS) experienced by users. A potential solution for this problem is assisting the P2P streaming network by a cloud computing infrastructure to guarantee a minimum level of QoS. In such approach, rented cloud resources (helpers) are added on demand to the overlay, to increase the amount of total available bandwidth and the probability of receiving the video on time. Hence, the problem to be solved becomes minimizing the economical cost, provided that a set of constraints on QoS is satisfied. The main contribution of this paper is CLIVE, a cloud-assisted P2P live streaming system that demonstrates the feasibility of these ideas. CLIVE estimates the available capacity in the system through a gossip-based aggregation protocol and provisions the required resources from the cloud to guarantee a given level of QoS at low cost. We perform extensive simulations and evaluate CLIVE using large-scale experiments under dynamic realistic settings.
Amir Hossein Payberah, Hanna Kavalionak, Vimalkumar Kumaresan, Alberto Montresor, Seif Haridi
P2P5
2012 Peer2View: A peer-to-peer HTTP-live streaming platform
abstract
Peer2View is a commercial peer-to-peer live video streaming (P2PLS) system. The novelty of Peer2View is threefold: i) It is the first P2PLS platform to support HTTP as transport protocol for live content, ii) The system supports both single and multi-bitrate streaming modes of operation, and iii) It makes use of an application-layer dynamic congestion control to manage priorities of transfers. Peer2View goals are to achieve substantial savings towards the source of the stream while providing the same quality of user experience of a CDN.
Roberto Roverso, Sameh El-Ansary, Seif Haridi
P2P3
2012 Brief Announcement: Atomic Consistency and Partition Tolerance in Scalable Key-Value Stores
Cosmin Arad, Tallat M. Shafaat, Seif Haridi
DISC3
2011 On the feasibility of centrally-coordinated Peer-to-Peer live streaming
abstract
In this paper we present an exploration of central coordination as a way of managing P2P live streaming overlays. The main point is to show the elements needed to construct a system with that approach. A key element in the feasibility of this approach is a near real-time optimization engine for peer selection. Peer organization in a way that enables high bandwidth utilization plus optimized peer selection based on multiple utility factors make it possible to achieve large source bandwidth savings and provide high quality of user experience. The benefits of our approach are also seen most when NAT constraints come into play.
Roberto Roverso, Amgad Naiem, Mohammed Reda, Mohammed El-Beltagy, Sameh El-Ansary, Nils Franzen, Seif Haridi
CCNC7
2011 Gozar: NAT-Friendly Peer Sampling with One-Hop Distributed NAT Traversal
Amir Hossein Payberah, Jim Dowling, Seif Haridi
DAIS3
2011 Vitis: A Gossip-based Hybrid Overlay for Internet-scale Publish/Subscribe Enabling Rendezvous Routing in Unstructured Overlay Networks
abstract
Peer-to-peer overlay networks are attractive solutions for building Internet-scale publish/subscribe systems. However, scalability comes with a cost: a message published on a certain topic often needs to traverse a large number of uninterested (unsubscribed) nodes before reaching all its subscribers. This might sharply increase resource consumption for such relay nodes (in terms of bandwidth transmission cost, CPU, etc) and could ultimately lead to rapid deterioration of the system's performance once the relay nodes start dropping the messages or choose to permanently abandon the system. In this paper, we introduce Vitis, a gossip-based publish/subscribe system that significantly decreases the number of relay messages, and scales to an unbounded number of nodes and topics. This is achieved by the novel approach of enabling rendezvous routing on unstructured overlays. We construct a hybrid system by injecting structure into an otherwise unstructured network. The resulting structure resembles a navigable small-world network, which spans along clusters of nodes that have similar subscriptions. The properties of such an overlay make it an ideal platform for efficient data dissemination in large-scale systems. We perform extensive simulations and evaluate Vitis by comparing its performance against two base-line publish/subscribe systems: one that is oblivious to node subscriptions, and another that exploits the subscription similarities. Our measurements show that Vitis significantly outperforms the base-line solutions on various subscription and churn scenarios, from both synthetic models and real-world traces.
Fatemeh Rahimian, Sarunas Girdzijauskas, Amir Hossein Payberah, Seif Haridi
IPDPS4
2011 GLive: The Gradient Overlay as a Market Maker for Mesh-Based P2P Live Streaming
abstract
Peer-to-Peer (P2P) live video streaming over the Internet is becoming increasingly popular, but it is still plagued by problems of high playback latency and intermittent playback streams. This paper presents GLive, a distributed market-based solution that builds a mesh overlay for P2P live streaming. The mesh overlay is constructed such that (i) nodes with increasing upload bandwidth are located closer to the media source, and (ii) nodes with similar upload bandwidth become neighbours. We introduce a market-based approach that matches nodes willing and able to share the stream with one another. However, market-based approaches converge slowly on random overlay networks, and we improve the rate of convergence by adapting our market-based algorithm to exploit the clustering of nodes with similar upload bandwidths in our mesh overlay. We address the problem of free-riding through nodes preferentially uploading more of the stream to the best up loaders. We compare GLive with our previous tree-based streaming protocol, Sepidar, and New Cools treaming in simulation, and our results show significantly improved playback continuity and playback latency.
Amir Hossein Payberah, Jim Dowling, Seif Haridi
ISPDC3
2010 Enhanced Paxos Commit for Transactions on DHTs
abstract
Key/value stores which are built on structured overlay networks often lack support for atomic transactions and strong data consistency among replicas. This is unfortunate, because consistency guarantees and transactions would allow a wide range of additional application domains to benefit from the inherent scalability and fault-tolerance of DHTs. The Scalaris key/value store supports strong data consistency and atomic transactions. It uses an enhanced Paxos Commit protocol with only four communication steps rather than six. This improvement was possible by exploiting information from the replica distribution in the DHT. Scalaris enables implementation of more reliable and scalable infrastructure for collaborative Web services that require strong consistency and atomic changes across multiple items.
Florian Schintke, Alexander Reinefeld, Seif Haridi, Thorsten Schütt
CCGRID3
2010 gradienTv: Market-Based P2P Live Media Streaming on the Gradient Overlay
Amir Hossein Payberah, Jim Dowling, Fatemeh Rahimian, Seif Haridi
DAIS4
2010 Sepidar: Incentivized Market-Based P2P Live-Streaming on the Gradient Overlay Network
abstract
Live streaming of video content using overlay networks has gained widespread adoption on the Internet. This paper presents Sepidar, a distributed market-based model, that builds and maintains overlay network trees, which are approximately minimal height, for delivering live media as a number of sub streams. A streaming tree is constructed for each sub stream such that nodes that contribute higher amounts of upload bandwidth are located increasingly closer to the media source at the root of the tree. While our distributed market model can be run against a random sample of nodes, we improve its convergence time to stabilize a tree by executing against a sample of nodes that contribute similar amounts of upload bandwidth. We use the Gradient overlay network to generate samples of such nodes. We address the problem of free-riding through parent nodes auditing the behaviour of their child nodes. We evaluate Sepidar by comparing it in simulation with state-of-the-art New Cool streaming. Our results show significantly improved playback latency and playback continuity under churn, flash crowd, and catastrophic failure experiment scenarios. We also show that using the Gradient improves convergence time of our distributed market model compared to a random overlay network. Finally, we show that Sepidar punishes the performance of free-riders, and that nodes are incentivized to contribute more upload bandwidth by relatively improved performance.
Amir Hossein Payberah, Fatemeh Rahimian, Seif Haridi, Jim Dowling
ISM3
2009 NATCracker: NAT Combinations Matter
abstract
In this paper, we report our experience in working with network address translators (NATs). Traditionally, there were only 4 types of NATs. For each type, the (im)possibility of traversal is well-known. Recently, the NAT community has provided a deeper dissection of NAT behaviors resulting into at least 27 types and documented the (im)possibility of traversal for some types. There are, however, two fundamental issues that were not previously tackled by the community. First, given the more elaborate set of behaviors, it is incorrect to reason about traversing a single NAT, instead combinations must be considered and we have not found any study that comprehensively states, for every possible combination, whether direct connectivity with no relay is feasible. Such a statement is the first outcome of the paper. Second, there is a serious need for some kind of formalism to reason about NATs which is a second outcome of this paper. The results were obtained using our own scheme which is an augmentation of currently-known traversal methods. The scheme is validated by reasoning using our formalism, simulation and implementation in a real P2P network.
Roberto Roverso, Sameh El-Ansary, Seif Haridi
ICCCN3
2009 Building and Evaluating P2P Systems using the Kompics Component Framework
abstract
We present a framework for building and evaluating P2P systems in simulation, local execution, and distributed deployment. Such uniform system evaluations increase confidence in the obtained results. We briefly introduce the Kompics component model and its P2P framework. We describe the component architecture of a Kompics P2P system and show how to define experiment scenarios for large dynamic systems. The same experiments are conducted in reproducible simulation, in real-time execution on a single machine, and distributed over a local cluster or a wide area network. This demonstration shows the component oriented design and the evaluation of two P2P systems implemented in Kompics: Chord and Cyclon. We simulate the systems and then we execute them in realtime. During realtime execution we monitor the dynamic behavior of the systems and interact with them through their Web-based interfaces. We demonstrate how component-oriented design enables seamless switching between alternative protocols.
Cosmin Arad, Jim Dowling, Seif Haridi
Peer-to-Peer Computing3
2009 Dealing with network partitions in structured overlay networks
Tallat M. Shafaat, Ali Ghodsi 0002, Seif Haridi
Peer-to-Peer Netw. Appl.3
2008 Key-based consistency and availability in structured overlay networks
abstract
Structured Overlay Networks (SONs) provide a promising platform for high performance applications since they are scalable, fault-tolerant and self-managing. SONs provide lookup services that map keys to nodes that can be used as processing or storage resources. In SONs, lookups for a key may return inconsistent results. Consequently, it is difficult to provide consistent data services on top of SONs that build on key-based search. In this paper, we study the frequency of occurrence of inconsistent lookups. We show that the affect of lookup inconsistencies can be reduced by using node responsibilities. We present our results as a trade-off between consistency and availability of keys.
Tallat M. Shafaat, Thorsten Schütt, Monika Moser, Seif Haridi, Ali Ghodsi 0002, Alexander Reinefeld
HPDC4
2008 Comparing Maintenance Strategies for Overlays
abstract
In this paper, we present an analytical tool for understanding the performance of structured overlay networks under churn based on the master-equation approach of physics. We motivate and derive an equation for the average number of hops taken by lookups during churn, for the chord network. We analyse this equation in detail to understand the behaviour with and without churn. We then use this understanding to predict how lookups will scale for varying peer population as well as varying the sizes of the routing tables. We also consider a change in the maintenance algorithm of the overlay, from periodic stabilisation to a reactive one which corrects fingers only when a change is detected. We generalise our earlier analysis to understand how the reactive strategy compares with the periodic one.
Supriya Krishnamurthy, Sameh El-Ansary, Erik Aurell, Seif Haridi
PDP4
2008 An analytical study of a structured overlay in the presence of dynamic membership
Supriya Krishnamurthy, Sameh El-Ansary, Erik Aurell, Seif Haridi
IEEE/ACM Trans. Netw.4
2007 Handling Network Partitions and Mergers in Structured Overlay Networks
abstract
Many emerging applications that use XML are distributed, usually over large peer-to-peer (P2P) networks on the Internet. The deployment of an XML query shipping system over P2P networks requires a specialized synopsis to capture XML data in routing tables. In this paper, we propose a novel eigenvalue-based routing synopsis for deployment over unstructured P2P networks. Based on well-established Cauchy's interlacing theorem, our approach employs multiple eigenvalues as routing synopsis and facilitates query routing process with computationally-inexpensive range inequality checking. Through extensive experiments, we demonstrate the effectiveness of our approach.
Tallat M. Shafaat, Ali Ghodsi 0002, Seif Haridi
Peer-to-Peer Computing3
2007 Peer-to-Peer resource discovery in Grids: Models and systems
Paolo Trunfio, Domenico Talia, Harris Papadakis, Paraskevi Fragopoulou, Matteo Mordacchini, M. Pennanen, Konstantin Popov, Vladimir Vlassov, Seif Haridi
Future Gener. Comput. Syst.9
2006 DOH: A Content Delivery Peer-to-Peer Network
Jimmy Jernberg, Vladimir Vlassov, Ali Ghodsi 0002, Seif Haridi
Euro-Par4
2005 The Essence of P2P: A Reference Architecture for Overlay Networks
abstract
The success of the P2P idea has created a huge diversity of approaches, among which overlay networks, for example, Gnutella, Kazaa, Chord, Pastry, Tapestry, P-Grid, or DKS, have received specific attention from both developers and researchers. A wide variety of algorithms, data structures, and architectures have been proposed. The terminologies and abstractions used, however, have become quite inconsistent since the P2P paradigm has attracted people from many different communities, e.g., networking, databases, distributed systems, graph theory, complexity theory, biology, etc. In this paper we propose a reference model for overlay networks which is capable of modeling different approaches in this domain in a generic manner. It is intended to allow researchers and users to assess the properties of concrete systems, to establish a common vocabulary for scientific discussion, to facilitate the qualitative comparison of the systems, and to serve as the basis for defining a standardized API to make overlay networks interoperable.
Karl Aberer, Luc Onana Alima, Ali Ghodsi 0002, Sarunas Girdzijauskas, Seif Haridi, Manfred Hauswirth
Peer-to-Peer Computing5
2005 An efficient incremental marshaling framework for distributed systems
Konstantin Popov, Vladimir Vlassov, Per Brand, Seif Haridi
Future Gener. Comput. Syst.4
2004 Topic 18: Peer-to-Peer and Web Computing
Seif Haridi, Karl Aberer, Peter Van Roy, Michele Colajanni
Euro-Par1
2003 DKS (N, k, f): A Family of Low Communication, Scalable and Fault-Tolerant Infrastructures for P2P Applications
abstract
In this paper, we present DKS(N, k, f), a family of infrastructures for building Peer-To-Peer applications. Each instance of DKS(N, k, f) is a fully decentralized overlay network characterized by three parameters: N the maximum number of nodes that can be in the network; k the search arity within the network and f the degree of fault-tolerance. Once these parameters are instantiated, the resulting network has several desirable properties. The first property, which is the main contribution of this paper, is that there is no separate procedure for maintaining routing tables; instead, any out-of-date or erroneous routing entry is eventually corrected on-the-fly thereby, eliminating unnecessary bandwidth consumption. The second property is that each lookup request is resolved in at most log/sub k/(N) overlay hops under normal operations. Third, each node maintains only (k-1) log/sub k/(N) + 1 addresses of other nodes for routing purposes. Fourth, new nodes can join and existing nodes can leave at will with a negligible disturbance to the ability to resolve lookups in logk(N) hops in average. Fifth, any pair key/value that is inserted into the system is guaranteed to be located even in the presence of concurrent joins. Sixth, even if f consecutive nodes fail simultaneously, correct lookup is still guaranteed.
Luc Onana Alima, Sameh El-Ansary, Per Brand, Seif Haridi
CCGRID4
2003 Parallel Agent-Based Simulation on a Cluster of Workstations
Konstantin Popov, Vladimir Vlassov, Mahmoud Rafea, Fredrik Holmgren, Per Brand, Seif Haridi
Euro-Par6
2003 Parallel Distributed Algorithms of the beta-Model of the Small World Graphs
Mahmoud Rafea, Konstantin Popov, Per Brand, Fredrik Holmgren, Seif Haridi
Euro-Par5
2003 Flow Java: Declarative Concurrency for Java
Frej Drejhammar, Christian Schulte 0001, Per Brand, Seif Haridi
ICLP4
2003 Multicast in DKS(N, k, f) Overlay Networks
Luc Onana Alima, Ali Ghodsi 0002, Per Brand, Seif Haridi
OPODIS4
2003 A Peer-to-Peer Approach to Enhance Middleware Connectivity
Erik Klintskog, Valentin Mesaros, Zacharias El Banna, Per Brand, Seif Haridi
OPODIS5
2003 Multicast in DKS(N, k, f) Overlay Networks
abstract
Recent developments in the area of peer-to-peer computing show that structured overlay networks implementing distributed hash tables scale well and can serve as infrastructures for Internet scale applications. We are developing a family of infrastructures, DKS(N; k; f), for the construction of peer-to-peer applications. An instance of DKS(N; k; f) is an overlay network that implements a distributed hash table and which has a number of desirable properties: low cost of communication, scalability, logarithmic lookup length, fault-tolerance and strong guarantees of locating any data item that was inserted in the system. In this paper, we show how multicast is achieved in DKS(N, k, f) overlay networks. The design presented here is attractive in three main respects. First, members of a multicast group self-organize in an instance of DKS(N, k, f) in a way that allows co-existence of groups of different sizes, degree of fault-tolerance, and maintenance cost, thereby, providing flexibility. Second, each member of a group can multicast, rather than having single source multicast. Third, within a group, dissemination of a multicast message is optimal under normal system operation in the sense that there are no redundant messages despite the presence of outdated routing information.
Luc Onana Alima, Ali Ghodsi 0002, Sameh El-Ansary, Per Brand, Seif Haridi
Peer-to-Peer Computing5
2003 Logic programming in the context of multiparadigm programming: the Oz experience
abstract
Oz is a multiparadigm language that supports logic programming as one of its major paradigms. A multiparadigm language is designed to support different programming paradigms (logic, functional, constraint, object-oriented, sequential, concurrent, etc.) with equal ease. This paper has two goals: to give a tutorial of logic programming in Oz; and to show how logic programming fits naturally into the wider context of multiparadigm programming. Our experience shows that there are two classes of problems, which we call algorithmic and search problems, for which logic programming can help formulate practical solutions. Algorithmic problems have known efficient algorithms. Search problems do not have known efficient algorithms but can be solved with search. The Oz support for logic programming targets these two problem classes specifically, using the concepts needed for each. This is in contrast to the Prolog approach, which targets both classes with one set of concepts, which results in less than optimal support for each class. We give examples that can be run interactively on the Mozart system, which implements Oz. To explain the essential difference between algorithmic and search programs, we define the Oz execution model. This model subsumes both concurrent logic programming (committed-choice-style) and search-based logic programming (Prolog-style). Furthermore, as consequences of its multiparadigm nature, the model supports new abilities such as first-class top levels, deep guards, active objects, and sophisticated control of the search process. Instead of Horn clause syntax, Oz has a simple, fully compositional, higher-order syntax that accommodates the abilities of the language. We give a brief history of Oz that traces the development of its main ideas and we summarize the lessons learned from this work. Finally, we give many entry points into the Oz literature.
Peter Van Roy, Per Brand, Denys Duchier, Seif Haridi, Martin Henz, Christian Schulte 0001
Theory Pract. Log. Program.4
2002 NetProber: A Component for Enhancing Efficiency of Overlay Networks in P2P Systems
abstract
The peer-to-peer (P2P) computing paradigm is an emerging paradigm that aims to overcome most of the main limitations of the traditional client/server architecture. In the P2P setting, individual computers communicate directly with each other in order to share information and resources without relying on any kind of centralized server. To achieve this full decentralization, an application-level (or overlay) network is constructed using, for example, TCP connections. In most of the existing P2P systems, the overlay network is built in a manner that does not guarantee that the overlay network is efficient with respect to a given metric (e.g. latency, hop count and bandwidth). Hence, an overlay node can be very far away, in terms of a given metric, from its overlay neighbors. This can result in both, an inefficient routing at the overlay network and an ineffective use of the underlying IP network. In this paper, we introduce a new measure, "goodness of overlay networks", to quantify the quality of an overlay network for a given metric. We then propose NetProber, a simple, distributed and scalable component that can be combined with any connected overlay network in order to allow the latter to adapt, and to become "good" within a finite amount of time.
Luc Onana Alima, Valentin Mesaros, Peter Van Roy, Seif Haridi
Peer-to-Peer Computing4
2001 Fractional Weighted Reference Counting
Erik Klintskog, Anna Neiderud, Per Brand, Seif Haridi
Euro-Par4
1999 Efficient logic variables for distributed computing
abstract
We define a practical algorithm for distrubuted rational tree unification and prove its correctness in both the off-line and on-line cases. We derive the distributed algorithm from a centralized one, showing clearly the trade-offs between local and distributed execution. The algorithm is used to realize logic variables in the Mozart Programming System, which implements the Oz language (see http://www/mozart-oz.org). Oz appears to the programmer as a concurrent object-oriented language with dataflow synchronization. Logic variables implement the dataflow behavior. We show that lohgic variables can easily be added to the more restricted models of Java and ML, thus providing an alternative way to do concurent programming in these languages. We present common distributed programming idioms in a network-transparent way using logic variables. We show that in common cases the algorithm maintains the same message latency as explicit message passing. In addition, it is able to handle uncommon cases that arise from the properties of latency tolerance and third-party independence. This is evidence that using logic variables in distributed computing is beneficial at both the system and language levels. At the system level, they improve latency tolerance and third-party independence. At the language level, they help make network-transparent distribution practical.
Seif Haridi, Peter Van Roy, Per Brand, Michael Mehl, Ralf Scheidhauer, Gert Smolka
ACM Trans. Program. Lang. Syst.1
1997 Mobile Objects in Distributed Oz
abstract
Some of the most difficult questions to answer when designing a distributed application are related to mobility: what information to transfer between sites and when and how to transfer it. Network-transparent distribution, the property that a program's behavior is independent of how it is partitioned among sites, does not directly address these questions. Therefore we propose to extend all language entities with a network behavior that enables efficient distributed programming by giving the programmer a simple and predictable control over network communication patterns. In particular, we show how to give objects an arbitrary mobility behavior that is independent of the objects definition. In this way, the syntax and semantics of objects are the same regardless of whether they are used as stationary servers, mobile agents, or simply as caches. These ideas have been implemented in Distributed Oz, a concurrent object-oriented language that is state aware and has dataflow synchronization. We prove that the implementation of objects in Distributed Oz is network transparent. To satisfy the predictability condition, the implementation avoids forwarding chains through intermediate sites. The implementation is an extension to the publicly available DFKI Oz 2.0 system.
Peter Van Roy, Seif Haridi, Per Brand, Gert Smolka, Michael Mehl, Ralf Scheidhauer
ACM Trans. Program. Lang. Syst.2
1992 Structural operational semantics for AKL
Seif Haridi, Sverker Janson, Catuscia Palamidessi
Future Gener. Comput. Syst.1
1992 An Intuitionistic Predicate Logic Theorem Prover
abstract
A complete theorem prover for intuitionistic predicate logic based on the cut-free sequent calculue is presented. It includes a treatment of ‘quasi-free’ identity based on a delay mechanism and a special form of unification. Several fairly far-reaching optimizations of the basic algorithm essential to its performance are introduced. The paper concludes with a set of benchmarks and execution data which may facilitate a comparison of algorithms for intuitionistic logic. The system is available in source code from SICS.
Dan Sahlin, Torkel Franzén, Seif Haridi
J. Log. Comput.3
1991 Parallel Logic Programming based on the Andorra Principle
Seif Haridi
ICLP1
1991 Race-Free Interconnection Networks and Multiprocessor Consistency
abstract
Modernshared-memory multiprocessors require complex interconnection networks to provide sufficient communication bandwidth between processors.They also rely on advanced memory systems that allow multiple memory operations to be made in parallel.It is expensive to maintain a high consistency level in a machine based on a general network, but for special interconnection topologies, some of these costs can be reduced.We define and study one class of interconnection networks, race-free net works.New conditions for sequential consistency are presented which show that sequential consistency can be maintained if all accesses in a multiprocessor can be ordered in an acyclic graph.We show that this can be done in race-free networks without the need for a transaction to be globally performed before the next transaction can be issued.We also investigate what is required to maintain processor consistency in race-free networks.In a race-free network which maintains processor consistency, writes may be pipelined, and reads may bypass writes.The proposed methods reduce the latencies associated with processor write-misses to shared data.
Anders Landin, Erik Hagersten, Seif Haridi
ISCA3
1990 Kernel Andorra Prolog and its Computation Model
Seif Haridi, Sverker Janson
ICLP1