-
Konnektor: Connection Protocol for Ensuring Peer Uniqueness in Decentralized P2P Networks
Authors:
Onur Ozkan
Abstract:
Konnektor is a connection protocol designed to solve the challenge of managing unique peers within distributed peer-to-peer networks. By prioritizing network integrity and efficiency, Konnektor offers a comprehensive solution that safeguards against the spread of duplicate peers while optimizing resource utilization. This paper provides a detailed explanation of the protocol's key components, incl…
▽ More
Konnektor is a connection protocol designed to solve the challenge of managing unique peers within distributed peer-to-peer networks. By prioritizing network integrity and efficiency, Konnektor offers a comprehensive solution that safeguards against the spread of duplicate peers while optimizing resource utilization. This paper provides a detailed explanation of the protocol's key components, including peer addressing, connection initialization, detecting peer duplications and mitigation strategies against potential security threats.
△ Less
Submitted 11 April, 2024;
originally announced April 2024.
-
Domain-Driven Design in Software Development: A Systematic Literature Review on Implementation, Challenges, and Effectiveness
Authors:
Ozan Özkan,
Önder Babur,
Mark van den Brand
Abstract:
Context: Domain-Driven Design (DDD) addresses software challenges, gaining attention for refactoring, reimplementation, and adoption. It centers on domain knowledge to solve complex business problems. Objective: This Systematic Literature Review (SLR) analyzes DDD research in software development to assess its effectiveness in solving architecture problems, identify challenges, and explore outcome…
▽ More
Context: Domain-Driven Design (DDD) addresses software challenges, gaining attention for refactoring, reimplementation, and adoption. It centers on domain knowledge to solve complex business problems. Objective: This Systematic Literature Review (SLR) analyzes DDD research in software development to assess its effectiveness in solving architecture problems, identify challenges, and explore outcomes. Method: We selected 36 peer-reviewed studies and conducted quantitative and qualitative analysis. Results: DDD effectively improved software systems, emphasizing Ubiquitous Language, Bounded Context, and Domain Events. DDD in microservices gained prominence for system decomposition. Some studies lacked empirical evaluations, identifying challenges in onboarding and expertise. Conclusion: Adopting DDD benefits software development, involving stakeholders like engineers, architects, managers, and domain experts. More empirical evaluations and open discussions on challenges are needed. Collaboration between academia and industry advances DDD adoption and knowledge transfer in projects.
△ Less
Submitted 9 November, 2023; v1 submitted 3 October, 2023;
originally announced October 2023.
-
Resilience of Well-structured Graph Transformation Systems
Authors:
Okan Özkan,
Nick Würdemann
Abstract:
Resilience is a concept of rising interest in computer science and software engineering. For systems in which correctness w.r.t. a safety condition is unachievable, fast recovery is demanded. We investigate resilience problems of graph transformation systems. Our main contribution is the decidability of two resilience problems for well-structured graph transformation systems (with strong compatibi…
▽ More
Resilience is a concept of rising interest in computer science and software engineering. For systems in which correctness w.r.t. a safety condition is unachievable, fast recovery is demanded. We investigate resilience problems of graph transformation systems. Our main contribution is the decidability of two resilience problems for well-structured graph transformation systems (with strong compatibility). We prove our results in the abstract framework of well-structured transition systems and apply them to graph transformation systems, incorporating also the concept of adverse conditions.
△ Less
Submitted 21 December, 2021; v1 submitted 29 July, 2021;
originally announced August 2021.
-
Modeling Adverse Conditions in the Framework of Graph Transformation Systems
Authors:
Okan Özkan
Abstract:
The concept of adverse conditions addresses systems interacting with an adversary environment and finds use also in the development of new technologies. We present an approach for modeling adverse conditions by graph transformation systems. In contrast to other approaches for graph-transformational interacting systems, the presented main constructs are graph transformation systems. We introduce jo…
▽ More
The concept of adverse conditions addresses systems interacting with an adversary environment and finds use also in the development of new technologies. We present an approach for modeling adverse conditions by graph transformation systems. In contrast to other approaches for graph-transformational interacting systems, the presented main constructs are graph transformation systems. We introduce joint graph transformation systems which involve a system, an interfering environment, and an automaton modeling their interaction. For joint graph transformation systems, we introduce notions of (partial) correctness under adverse conditions, which contain the correctness of the system and a recovery condition. As main result, we show that two instances of correctness, namely k-step correctness (recovery in at most k steps after an environment intervention) and last-minute correctness (recovery until next environment intervention) are expressible in LTL (linear temporal logic), and that a weaker notion of k-step correctness is expressible in CTL (computation tree logic).
△ Less
Submitted 2 December, 2020;
originally announced December 2020.
-
Understanding Capacity-Driven Scale-Out Neural Recommendation Inference
Authors:
Michael Lui,
Yavuz Yetim,
Özgür Özkan,
Zhuoran Zhao,
Shin-Yeh Tsai,
Carole-Jean Wu,
Mark Hempstead
Abstract:
Deep learning recommendation models have grown to the terabyte scale. Traditional serving schemes--that load entire models to a single server--are unable to support this scale. One approach to support this scale is with distributed serving, or distributed inference, which divides the memory requirements of a single large model across multiple servers.
This work is a first-step for the systems re…
▽ More
Deep learning recommendation models have grown to the terabyte scale. Traditional serving schemes--that load entire models to a single server--are unable to support this scale. One approach to support this scale is with distributed serving, or distributed inference, which divides the memory requirements of a single large model across multiple servers.
This work is a first-step for the systems research community to develop novel model-serving solutions, given the huge system design space. Large-scale deep recommender systems are a novel workload and vital to study, as they consume up to 79% of all inference cycles in the data center. To that end, this work describes and characterizes scale-out deep learning recommendation inference using data-center serving infrastructure. This work specifically explores latency-bounded inference systems, compared to the throughput-oriented training systems of other recent works. We find that the latency and compute overheads of distributed inference are largely a result of a model's static embedding table distribution and sparsity of input inference requests. We further evaluate three embedding table mapping strategies of three DLRM-like models and specify challenging design trade-offs in terms of end-to-end latency, compute overhead, and resource efficiency. Overall, we observe only a marginal latency overhead when the data-center scale recommendation models are served with the distributed inference manner--P99 latency is increased by only 1% in the best case configuration. The latency overheads are largely a result of the commodity infrastructure used and the sparsity of embedding tables. Even more encouragingly, we also show how distributed inference can account for efficiency improvements in data-center scale recommendation serving.
△ Less
Submitted 11 November, 2020; v1 submitted 3 November, 2020;
originally announced November 2020.
-
A Tight Lower Bound for Decrease-Key in the Pure Heap Model
Authors:
John Iacono,
Özgür Özkan
Abstract:
We improve the lower bound on the amortized cost of the decrease-key operation in the pure heap model and show that any pure-heap-model heap (that has a \bigoh{\log n} amortized-time extract-min operation) must spend \bigom{\log\log n} amortized time on the decrease-key operation. Our result shows that sort heaps as well as pure-heap variants of numerous other heaps have asymptotically optimal dec…
▽ More
We improve the lower bound on the amortized cost of the decrease-key operation in the pure heap model and show that any pure-heap-model heap (that has a \bigoh{\log n} amortized-time extract-min operation) must spend \bigom{\log\log n} amortized time on the decrease-key operation. Our result shows that sort heaps as well as pure-heap variants of numerous other heaps have asymptotically optimal decrease-key operations in the pure heap model. In addition, our improved lower bound matches the lower bound of Fredman [J. ACM 46(4):473-501 (1999)] for pairing heaps [M.L. Fredman, R. Sedgewick, D.D. Sleator, and R.E. Tarjan. Algorithmica 1(1):111-129 (1986)] and surpasses it for pure-heap variants of numerous other heaps with augmented data such as pointer rank-pairing heaps.
△ Less
Submitted 27 June, 2014;
originally announced July 2014.
-
Cache-Oblivious Persistence
Authors:
Pooya Davoodi,
Jeremy T. Fineman,
John Iacono,
Özgür Özkan
Abstract:
Partial persistence is a general transformation that takes a data structure and allows queries to be executed on any past state of the structure. The cache-oblivious model is the leading model of a modern multi-level memory hierarchy.We present the first general transformation for making cache-oblivious model data structures partially persistent.
Partial persistence is a general transformation that takes a data structure and allows queries to be executed on any past state of the structure. The cache-oblivious model is the leading model of a modern multi-level memory hierarchy.We present the first general transformation for making cache-oblivious model data structures partially persistent.
△ Less
Submitted 1 July, 2014; v1 submitted 22 February, 2014;
originally announced February 2014.
-
The Complexity of Order Type Isomorphism
Authors:
Greg Aloupis,
John Iacono,
Stefan Langerman,
Özgür Özkan
Abstract:
The order type of a point set in $R^d$ maps each $(d{+}1)$-tuple of points to its orientation (e.g., clockwise or counterclockwise in $R^2$). Two point sets $X$ and $Y$ have the same order type if there exists a mapping $f$ from $X$ to $Y$ for which every $(d{+}1)$-tuple $(a_1,a_2,\ldots,a_{d+1})$ of $X$ and the corresponding tuple $(f(a_1),f(a_2),\ldots,f(a_{d+1}))$ in $Y$ have the same orientati…
▽ More
The order type of a point set in $R^d$ maps each $(d{+}1)$-tuple of points to its orientation (e.g., clockwise or counterclockwise in $R^2$). Two point sets $X$ and $Y$ have the same order type if there exists a mapping $f$ from $X$ to $Y$ for which every $(d{+}1)$-tuple $(a_1,a_2,\ldots,a_{d+1})$ of $X$ and the corresponding tuple $(f(a_1),f(a_2),\ldots,f(a_{d+1}))$ in $Y$ have the same orientation. In this paper we investigate the complexity of determining whether two point sets have the same order type. We provide an $O(n^d)$ algorithm for this task, thereby improving upon the $O(n^{\lfloor{3d/2}\rfloor})$ algorithm of Goodman and Pollack (1983). The algorithm uses only order type queries and also works for abstract order types (or acyclic oriented matroids). Our algorithm is optimal, both in the abstract setting and for realizable points sets if the algorithm only uses order type queries.
△ Less
Submitted 4 November, 2013;
originally announced November 2013.
-
Combining Binary Search Trees
Authors:
Erik D. Demaine,
John Iacono,
Stefan Langerman,
Özgür Özkan
Abstract:
We present a general transformation for combining a constant number of binary search tree data structures (BSTs) into a single BST whose running time is within a constant factor of the minimum of any "well-behaved" bound on the running time of the given BSTs, for any online access sequence.
(A BST has a well behaved bound with $f(n)$ overhead if it spends at most \bigoh{f(n)} time per access and…
▽ More
We present a general transformation for combining a constant number of binary search tree data structures (BSTs) into a single BST whose running time is within a constant factor of the minimum of any "well-behaved" bound on the running time of the given BSTs, for any online access sequence.
(A BST has a well behaved bound with $f(n)$ overhead if it spends at most \bigoh{f(n)} time per access and its bound satisfies a weak sense of closure under subsequences.) In particular, we obtain a BST data structure that is \bigoh{\log\log n} competitive, satisfies the working set bound (and thus satisfies the static finger bound and the static optimality bound), satisfies the dynamic finger bound, satisfies the unified bound with an additive \bigoh{\log\log n} factor, and performs each access in worst-case \bigoh{\log n} time.
△ Less
Submitted 29 April, 2013;
originally announced April 2013.
-
Max-Throughput for (Conservative) k-of-n Testing
Authors:
Lisa Hellerstein,
Özgür Özkan,
Linda Sellie
Abstract:
We define a variant of k-of-n testing that we call conservative k-of-n testing. We present a polynomial-time, combinatorial algorithm for the problem of maximizing throughput of conservative k-of-n testing, in a parallel setting. This extends previous work of Kodialam and Condon et al., who presented combinatorial algorithms for parallel pipelined filter ordering, which is the special case where k…
▽ More
We define a variant of k-of-n testing that we call conservative k-of-n testing. We present a polynomial-time, combinatorial algorithm for the problem of maximizing throughput of conservative k-of-n testing, in a parallel setting. This extends previous work of Kodialam and Condon et al., who presented combinatorial algorithms for parallel pipelined filter ordering, which is the special case where k=1 (or k = n). We also consider the problem of maximizing throughput for standard k-of-n testing, and show how to obtain a polynomial-time algorithm based on the ellipsoid method using previous techniques.
△ Less
Submitted 29 October, 2012; v1 submitted 15 September, 2011;
originally announced September 2011.
-
Mergeable Dictionaries
Authors:
John Iacono,
Özgür Özkan
Abstract:
A data structure is presented for the Mergeable Dictionary abstract data type, which supports the following operations on a collection of disjoint sets of totally ordered data: Predecessor-Search, Split and Merge. While Predecessor-Search and Split work in the normal way, the novel operation is Merge. While in a typical mergeable dictionary (e.g. 2-4 Trees), the Merge operation can only be perform…
▽ More
A data structure is presented for the Mergeable Dictionary abstract data type, which supports the following operations on a collection of disjoint sets of totally ordered data: Predecessor-Search, Split and Merge. While Predecessor-Search and Split work in the normal way, the novel operation is Merge. While in a typical mergeable dictionary (e.g. 2-4 Trees), the Merge operation can only be performed on sets that span disjoint intervals in keyspace, the structure here has no such limitation, and permits the merging of arbitrarily interleaved sets. Tarjan and Brown present a data structure which can handle arbitrary Merge operations in O(log n) amortized time per operation if the set of operations is restricted to exclude the Split operation. In the presence of Split operations, the amortized time complexity of their structure becomes Ω(n). A data structure which supports both Split and Merge operations in O(log^2 n) amortized time per operation was given by Farach and Thorup. In contrast, our data structure supports all operations, including Split and Merge, in O(log n) amortized time, thus showing that interleaved Merge operations can be supported at no additional cost vis-a-vis disjoint Merge operations.
△ Less
Submitted 17 November, 2012; v1 submitted 23 February, 2010;
originally announced February 2010.