SearcharxivSearch

arXiv subjects

Assaf Kfoury

Publications and source records attributed to Assaf Kfoury.

13 recordsLinked to original sources

String Rewriting Systems: Brief Introduction and Sample of Open Problems

This document is the result of pulling together small parts of different lecture notes I have written over several decades for first-year graduate-level courses -- typically with the title Formal Methods -- which included many other topics of mathematical logic and theoretical computer science. After combining these materials, I updated the references and adjusted the text to account for progress accomplished in the intervening years. The sample of open problems in the last section is a small collection of special cases that are still unresolved up until the date of this writing.

cs.LO

MORPHOSYS: Efficient Colocation of QoS-Constrained Workloads in the Cloud

In hosting environments such as IaaS clouds, desirable application performance is usually guaranteed through the use of Service Level Agreements (SLAs), which specify minimal fractions of resource capacities that must be allocated for use for proper operation. Arbitrary colocation of applications with different SLAs on a single host may result in inefficient utilization of the host's resources. In this paper, we propose that periodic resource allocation and consumption models be used for a more granular expression of SLAs. Our proposed SLA model has the salient feature that it exposes flexibilities that enable the IaaS provider to safelya transform SLAs from one form to another for the purpose of achieving more efficient colocation. Towards that goal, we present MorphoSys: a framework for a service that allows the manipulation of SLAs to enable efficient colocation of workloads. We present results from extensive trace-driven simulations of colocated Video-on-Demand servers in a cloud setting. The results show that potentially-significant reduction in wasted resources (by as much as 60%) are possible using MorphoSys.

cs.DC

Efficient Reassembling of Three-Regular Planar Graphs

A reassembling of a simple graph G = (V,E) is an abstraction of a problem arising in earlier studies of network analysis. There are several equivalent definitions of graph reassembling; in this report we use a definition which makes it closest to the notion of graph carving. A reassembling is a rooted binary tree whose nodes are subsets of V and whose leaf nodes are singleton sets, with each of the latter containing a distinct vertex of G. The parent of two nodes in the reassembling is the union of the two children's vertex sets. The root node of the reassembling is the full set V. The edge-boundary degree of a node in the reassembling is the number of edges in G that connect vertices in the node's set to vertices not in the node's set. A reassembling's alpha-measure is the largest edge-boundary degree of any node in the reassembling. A reassembling of G is alpha-optimal if its alpha-measure is the minimum among all alpha-measures of G's reassemblings. The problem of finding an alpha-optimal reassembling of a simple graph in general was already shown to be NP-hard. In this report we present an algorithm which, given a 3-regular plane graph G = (V,E) as input, returns a reassembling of G with an alpha-measure independent of n (number of vertices in G) and upper-bounded by 2k, where k is the edge-outerplanarity of G. (Edge-outerplanarity is distinct but closely related to the usual notion of outerplanarity; as with outerplanarity, for a fixed edge-outerplanarity k, the number n of vertices can be arbitrarily large.) Our algorithm runs in time linear in n. Moreover, we construct a class of $3$-regular plane graphs for which this alpha-measure is optimal, by proving that 2k is the lower bound on the alpha-measure of any reassembling of a graph in that class.

cs.DS

A Compositional Approach to Network Algorithms

We present elements of a typing theory for flow networks, where "types", "typings", and "type inference" are formulated in terms of familiar notions from polyhedral analysis and convex optimization. Based on this typing theory, we develop an alternative approach to the design and analysis of network algorithms, which we illustrate by applying it to the max-flow problem in multiple-source, multiple-sink, capacited directed planar graphs.

cs.DC

Using Alloy to Formally Model and Reason About an OpenFlow Network Switch

Openflow provides a standard interface for separating a network into a data plane and a programmatic control plane. This enables easy network reconfiguration, but introduces the potential for programming bugs to cause network effects. To study OpenFlow switch behavior, we used Alloy to create a software abstraction describing the internal state of a network and its OpenFlow switches. This work is an attempt to model the static and dynamic behaviour a network built using OpenFlow switches.

cs.NI

Shortest path and maximum flow problems in planar flow networks with additive gains and losses

In contrast to traditional flow networks, in additive flow networks, to every edge e is assigned a gain factor g(e) which represents the loss or gain of the flow while using edge e. Hence, if a flow f(e) enters the edge e and f(e) is less than the designated capacity of e, then f(e) + g(e) = 0 units of flow reach the end point of e, provided e is used, i.e., provided f(e) != 0. In this report we study the maximum flow problem in additive flow networks, which we prove to be NP-hard even when the underlying graphs of additive flow networks are planar. We also investigate the shortest path problem, when to every edge e is assigned a cost value for every unit flow entering edge e, which we show to be NP-hard in the strong sense even when the additive flow networks are planar.

cs.CC

Efficient Reassembling of Graphs, Part 2: The Balanced Case

The reassembling of a simple connected graph G = (V,E) is an abstraction of a problem arising in earlier studies of network analysis. The reassembling process has a simple formulation (there are several equivalent formulations) relative to a binary tree B (reassembling tree), with root node at the top and $n$ leaf nodes at the bottom, where every cross-section corresponds to a partition of V such that: - the bottom (or first) cross-section (all the leaves) is the finest partition of V with n one-vertex blocks, - the top (or last) cross-section (the root) is the coarsest partition with a single block, the entire set V, - a node (or block) in an intermediate cross-section (or partition) is the result of merging its two children nodes (or blocks) in the cross-section (or partition) below it. The maximum edge-boundary degree encountered during the reassembling process is what we call the alpha-measure of the reassembling, and the sum of all edge-boundary degrees is its beta-measure. The alpha-optimization (resp. beta-optimization) of the reassembling of G is to determine a reassembling tree B that minimizes its alpha-measure (resp. beta-measure). There are different forms of reassembling. In an earlier report, we studied linear reassembling, which is the case when the height of B is (n-1). In this report, we study balanced reassembling, when B has height [log n]. The two main results in this report are the NP-hardness of alpha-optimization and beta-optimization of balanced reassembling. The first result is obtained by a sequence of polynomial-time reductions from minimum bisection of graphs (known to be NP-hard), and the second by a sequence of polynomial-time reductions from clique cover of graphs (known to be NP-hard).

cs.CC

Linear Arrangement of Halin Graphs

We study the Optimal Linear Arrangement (OLA) problem of Halin graphs, one of the simplest classes of non-outerplanar graphs. We present several properties of OLA of general Halin graphs. We prove a lower bound on the cost of OLA of any Halin graph, and define classes of Halin graphs for which the cost of OLA matches this lower bound. We show for these classes of Halin graphs, OLA can be computed in O(n log n), where n is the number of vertices.

cs.DM

Efficient Reassembling of Graphs, Part 1: The Linear Case

The reassembling of a simple connected graph G = (V,E) is an abstraction of a problem arising in earlier studies of network analysis. Its simplest formulation is in two steps: (1) We cut every edge of G into two halves, thus obtaining a collection of n=|V| one-vertex components. (2) We splice the two halves of every edge together, not of all the edges at once, but in some ordering Θof the edges that minimizes two measures that depend on the edge-boundary degrees of assembled components. The edge-boundary degree of a component A (subset of V) is the number of edges in G with one endpoint in A and one endpoint in V-A. We call the maximum edge-boundary degree encountered during the reassembling process the alpha-measure of the reassembling, and the sum of all edge-boundary degrees is its beta-measure. The alpha-optimization (resp. beta-optimization) of the reassembling of G is to determine an order Θfor splicing the edges that minimizes its alpha-measure (resp. beta-measure). There are different forms of reassembling. We consider only cases satisfying the condition that if the an edge between disjoint components A and B is spliced, then all the edges between A and B are spliced at the same time. In this report, we examine the particular case of linear reassembling, which requires that the next edge to be spliced must be adjacent to an already spliced edge. We delay other forms of reassembling to follow-up reports. We prove that alpha-optimization of linear reassembling and minimum-cutwidth linear arrangment (CutWidth) are polynomially reducible to each other, and that beta-optimization of linear reassembling and minimum-cost linear arrangement (MinArr) are polynomially reducible to each other.

cs.DM

A Domain-Specific Language for Incremental and Modular Design of Large-Scale Verifiably-Safe Flow Networks (Preliminary Report)

We define a domain-specific language (DSL) to inductively assemble flow networks from small networks or modules to produce arbitrarily large ones, with interchangeable functionally-equivalent parts. Our small networks or modules are "small" only as the building blocks in this inductive definition (there is no limit on their size). Associated with our DSL is a type theory, a system of formal annotations to express desirable properties of flow networks together with rules that enforce them as invariants across their interfaces, i.e, the rules guarantee the properties are preserved as we build larger networks from smaller ones. A prerequisite for a type theory is a formal semantics, i.e, a rigorous definition of the entities that qualify as feasible flows through the networks, possibly restricted to satisfy additional efficiency or safety requirements. This can be carried out in one of two ways, as a denotational semantics or as an operational (or reduction) semantics; we choose the first in preference to the second, partly to avoid exponential-growth rewriting in the operational approach. We set up a typing system and prove its soundness for our DSL.

cs.PL