Demo Data from EDBT 2026 / reviewers in the wild / expert
Seif Haridi
dblp:h/SeifHaridi
· DBLP profile ↗
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
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Distributed systems
fault tolerance |
0.9 | 2 | 2023 | 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.7 | 1 | 2023 | Omni-Paxos: Breaking the Barriers of Partial Connectivity · EuroSys 2023 |
Distributed systems › consensus
paxos |
0.7 | 1 | 2023 | Omni-Paxos: Breaking the Barriers of Partial Connectivity · EuroSys 2023 |
Distributed systems › replication
state machine replication |
0.7 | 1 | 2023 | Omni-Paxos: Breaking the Barriers of Partial Connectivity · EuroSys 2023 |
Concurrent programming
transactional memory |
0.5 | 1 | 2021 | Investigating the semantics of futures in transactional memory systems · PPoPP 2021 |
Graph data management
distributed graph processing |
0.3 | 1 | 2018 | High-Level Programming Abstractions for Distributed Graph Processing · IEEE Trans. Knowl. Data Eng. 2018 |
Distributed systems
distributed graph processing |
0.3 | 1 | 2018 | High-Level Programming Abstractions for Distributed Graph Processing · IEEE Trans. Knowl. Data Eng. 2018 |
Distributed systems › distributed algorithms › distributed snapshot
consistent snapshots |
0.3 | 1 | 2017 | State Management in Apache Flink®: Consistent Stateful Distributed Stream Processing · Proc. VLDB Endow. 2017 |
Storage systems › file systems
distributed file system |
0.3 | 1 | 2017 | HopsFS: Scaling Hierarchical File System Metadata Using NewSQL Databases · FAST 2017 |
Storage systems › metadata management
metadata scalability |
0.3 | 1 | 2017 | HopsFS: Scaling Hierarchical File System Metadata Using NewSQL Databases · FAST 2017 |
Distributed systems › distributed coordination
leader election |
0.2 | 1 | 2023 | Omni-Paxos: Breaking the Barriers of Partial Connectivity · EuroSys 2023 |
Distributed systems › peer-to-peer systems › overlay networks
structured overlay |
0.2 | 2 | 2008 | 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.1 | 1 | 2021 | Investigating the semantics of futures in transactional memory systems · PPoPP 2021 |
Programming languages and type systems
language semantics |
0.1 | 1 | 2021 | Investigating the semantics of futures in transactional memory systems · PPoPP 2021 |
Distributed systems
consistency and availability tradeoff |
0.1 | 1 | 2008 | Key-based consistency and availability in structured overlay networks · HPDC 2008 |
Distributed systems
distributed coordination and fault tolerance |
0.1 | 1 | 2008 | Key-based consistency and availability in structured overlay networks · HPDC 2008 |
Distributed systems › group communication › group membership
dynamic membership |
0.1 | 1 | 2008 | An analytical study of a structured overlay in the presence of dynamic membership · IEEE/ACM Trans. Netw. 2008 |
Distributed systems
distributed programming |
0.0 | 1 | 1999 | Efficient logic variables for distributed computing · ACM Trans. Program. Lang. Syst. 1999 |
Services computing and microservices › middleware
distributed objects |
0.0 | 1 | 1997 | 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.0 | 1 | 1997 | Mobile Objects in Distributed Oz · ACM Trans. Program. Lang. Syst. 1997 |
Distributed systems › distributed programming
distributed programming languages |
0.0 | 1 | 1997 | Mobile Objects in Distributed Oz · ACM Trans. Program. Lang. Syst. 1997 |
Memory systems
memory consistency |
0.0 | 1 | 1991 | Race-Free Interconnection Networks and Multiprocessor Consistency · ISCA 1991 |
Memory systems › memory consistency › memory consistency model
sequential consistency |
0.0 | 1 | 1991 | Race-Free Interconnection Networks and Multiprocessor Consistency · ISCA 1991 |
Distributed systems › distributed mobile computing
mobile agents |
0.0 | 1 | 1997 | 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
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2023 | Omni-Paxos: Breaking the Barriers of Partial ConnectivityabstractOmni-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 |
EuroSys | 2 |
| 2021 | Investigating the semantics of futures in transactional memory systemsabstractThis 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 |
PPoPP | 5 |
| 2020 | Distributed Hierarchical File Systems strike back in the CloudabstractCloud 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 |
ICDCS | 5 |
| 2020 | Giving Future(s) to Transactional Memory
Jingna Zeng, Seif Haridi, Shady Issa, Paolo Romano 0002, Luís E. T. Rodrigues |
SPAA | 2 |
| 2020 | A history of the Oz multiparadigm languageabstractOz 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 MetadataabstractDistributed 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 |
CCGRID | 3 |
| 2019 | From Copernicus Big Data to Extreme Earth AnalyticsabstractCopernicus 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 |
EDBT | 9 |
| 2018 | Online Tuning of Parallelism Degree in Parallel Nesting Transactional MemoryabstractThis 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 |
IPDPS | 5 |
| 2018 | Size Matters: Improving the Performance of Small Files in HadoopabstractThe 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 |
Middleware | 3 |
| 2018 | High-Level Programming Abstractions for Distributed Graph ProcessingabstractEfficient 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 HopsFSabstractHopsFS 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 |
CCGrid | 4 |
| 2017 | HopsFS: Scaling Hierarchical File System Metadata Using NewSQL Databases
Salman Niazi, Seif Haridi, Jim Dowling, Steffen Grohsschmiedt, Mikael Ronström |
FAST | 3 |
| 2017 | MeteorShower: Minimizing Request Latency for Majority Quorum-Based Data Consistency Algorithms in Multiple Data CentersabstractWith 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 |
ICDCS | 4 |
| 2017 | Hail to the Thief: Protecting data from mobile ransomware with ransomsafedroidabstractThe 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 |
NCA | 3 |
| 2017 | DroidPosture: A trusted posture assessment service for mobile devicesabstractMobile 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 |
WiMob | 3 |
| 2017 | TruApp: A TrustZone-based authenticity detection service for mobile appsabstractIn 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 |
WiMob | 4 |
| 2017 | State Management in Apache Flink®: Consistent Stateful Distributed Stream ProcessingabstractStream 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 WindowsabstractAggregation 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 |
CIKM | 4 |
| 2016 | The Future(s) of Transactional MemoryabstractThis 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 |
ICPP | 3 |
| 2015 | SmoothCache 2.0: CDN-quality adaptive HTTP live streaming on peer-to-peer overlaysabstractIn 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 |
MMSys | 4 |
| 2015 | A Distributed Algorithm for Large-Scale Graph PartitioningabstractBalanced 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 |
DAIS | 4 |
| 2013 | CATS: a linearizable and self-organizing key-value storeabstractDistributed 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 |
SoCC | 3 |
| 2013 | Lightweight gossip-based distribution estimationabstractMonitoring 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 |
ICC | 5 |
| 2013 | Efficient Linearizable Write Operations Using Bounded Global Time UncertaintyabstractDistributed 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 |
ISPDC | 4 |
| 2012 | ID-Replication for Structured Peer-to-Peer Systems
Tallat M. Shafaat, Seif Haridi |
Euro-Par | 3 |
| 2012 | Message-Passing Concurrency for Scalable, Stateful, Reconfigurable Middleware
Cosmin Arad, Jim Dowling, Seif Haridi |
Middleware | 3 |
| 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 streamingabstractPeer-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 |
P2P | 5 |
| 2012 | Peer2View: A peer-to-peer HTTP-live streaming platformabstractPeer2View 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 |
P2P | 3 |
| 2012 | Brief Announcement: Atomic Consistency and Partition Tolerance in Scalable Key-Value Stores
Cosmin Arad, Tallat M. Shafaat, Seif Haridi |
DISC | 3 |
| 2011 | On the feasibility of centrally-coordinated Peer-to-Peer live streamingabstractIn 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 |
CCNC | 7 |
| 2011 | Gozar: NAT-Friendly Peer Sampling with One-Hop Distributed NAT Traversal
Amir Hossein Payberah, Jim Dowling, Seif Haridi |
DAIS | 3 |
| 2011 | Vitis: A Gossip-based Hybrid Overlay for Internet-scale Publish/Subscribe Enabling Rendezvous Routing in Unstructured Overlay NetworksabstractPeer-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 |
IPDPS | 4 |
| 2011 | GLive: The Gradient Overlay as a Market Maker for Mesh-Based P2P Live StreamingabstractPeer-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 |
ISPDC | 3 |
| 2010 | Enhanced Paxos Commit for Transactions on DHTsabstractKey/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 |
CCGRID | 3 |
| 2010 | gradienTv: Market-Based P2P Live Media Streaming on the Gradient Overlay
Amir Hossein Payberah, Jim Dowling, Fatemeh Rahimian, Seif Haridi |
DAIS | 4 |
| 2010 | Sepidar: Incentivized Market-Based P2P Live-Streaming on the Gradient Overlay NetworkabstractLive 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 |
ISM | 3 |
| 2009 | NATCracker: NAT Combinations MatterabstractIn 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 |
ICCCN | 3 |
| 2009 | Building and Evaluating P2P Systems using the Kompics Component FrameworkabstractWe 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 Computing | 3 |
| 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 networksabstractStructured 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 |
HPDC | 4 |
| 2008 | Comparing Maintenance Strategies for OverlaysabstractIn 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 |
PDP | 4 |
| 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 NetworksabstractMany 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 Computing | 3 |
| 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-Par | 4 |
| 2005 | The Essence of P2P: A Reference Architecture for Overlay NetworksabstractThe 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 Computing | 5 |
| 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-Par | 1 |
| 2003 | DKS (N, k, f): A Family of Low Communication, Scalable and Fault-Tolerant Infrastructures for P2P ApplicationsabstractIn 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 |
CCGRID | 4 |
| 2003 | Parallel Agent-Based Simulation on a Cluster of Workstations
Konstantin Popov, Vladimir Vlassov, Mahmoud Rafea, Fredrik Holmgren, Per Brand, Seif Haridi |
Euro-Par | 6 |
| 2003 | Parallel Distributed Algorithms of the beta-Model of the Small World Graphs
Mahmoud Rafea, Konstantin Popov, Per Brand, Fredrik Holmgren, Seif Haridi |
Euro-Par | 5 |
| 2003 | Flow Java: Declarative Concurrency for Java
Frej Drejhammar, Christian Schulte 0001, Per Brand, Seif Haridi |
ICLP | 4 |
| 2003 | Multicast in DKS(N, k, f) Overlay Networks
Luc Onana Alima, Ali Ghodsi 0002, Per Brand, Seif Haridi |
OPODIS | 4 |
| 2003 | A Peer-to-Peer Approach to Enhance Middleware Connectivity
Erik Klintskog, Valentin Mesaros, Zacharias El Banna, Per Brand, Seif Haridi |
OPODIS | 5 |
| 2003 | Multicast in DKS(N, k, f) Overlay NetworksabstractRecent 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 Computing | 5 |
| 2003 | Logic programming in the context of multiparadigm programming: the Oz experienceabstractOz 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 SystemsabstractThe 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 Computing | 4 |
| 2001 | Fractional Weighted Reference Counting
Erik Klintskog, Anna Neiderud, Per Brand, Seif Haridi |
Euro-Par | 4 |
| 1999 | Efficient logic variables for distributed computingabstractWe 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 OzabstractSome 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 ProverabstractA 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 |
ICLP | 1 |
| 1991 | Race-Free Interconnection Networks and Multiprocessor ConsistencyabstractModernshared-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 |
ISCA | 3 |
| 1990 | Kernel Andorra Prolog and its Computation Model
Seif Haridi, Sverker Janson |
ICLP | 1 |