22 research outputs found
Formal modelling and analysis of distributed storage systems
International audienceDistributed storage systems are nowadays ubiquitous, often under the form of multiple caches forming a hierarchy. A large amount of work has been dedicated to design, implement and optimise such systems. However, there exists to the best of our knowledge no attempt to use formal modelling and analysis in this field. This paper proposes a formal modelling framework to design distributed storage systems, with the innovating feature to separate the various concerns they involve like data model, operations, placement, consistency, topology, etc. A system modelled in such a way can be analysed through model-checking to prove correctness properties, or through simulation to measure timed performance. In this paper, we define the modelling framework and then focus on timing analysis. We illustrate the latter aspect on a simple yet realistic example, showing that our proposal has the potential to be used to make design decisions before the real system is implemented
Runtime-Assisted Shared Cache Insertion Policies Based on Re-reference Intervals
Processor speed is improving at a faster rate than the speed of main memory, which makes memory accesses increasingly expensive. One way to solve this problem is to reduce miss ratio of the processor’s last level cache by improving its replacement policy. We approach the problem by co-designing the runtime system and hardware and exploiting the semantics of the applications written in data-flow task-based programming models to provide hardware with information about the task types and task data-dependencies. We propose the Task-Type aware Insertion Policy, TTIP, which uses the runtime system to dynamically determine the best probability per task type for bimodal insertion in the recency stack and the static Dependency-Type aware Insertion Policy, DTIP, that inserts cache lines in the optimal position taking into account the dependency types of the current task. TTIP and DTIP perform similarly or better than state-of-the-art replacement policies, while requiring less hardware.This work has been supported by the RoMoL ERC Advanced Grant (GA 321253), by the European HiPEAC Network of Excellence,
by the Spanish Ministry of Science and Innovation (contract TIN2015-65316-P),
by Generalitat de Catalunya (contracts 2014-SGR-1051 and 2014-SGR-1272). V. Dimic has been partially supported by AGAUR of the Government of Catalonia (contract 2017 FI B 00855). M. MoretĂł has been partially supported by the Ministry of Economy and Competitiveness under Juan de la Cierva postdoctoral fellowship number JCI-2012-15047. M. Casas has been supported by the Secretary for Universities and Research of the Ministry of Economy and Knowledge of the Government of Catalonia and the Cofund programme of the Marie Curie Actions of the 7th R&D Framework Programme of the European Union (contract 2013 BP B 00243).Peer Reviewe
On the Smoothness of Paging Algorithms
We study the smoothness of paging algorithms. How much can the number of page
faults increase due to a perturbation of the request sequence? We call a paging
algorithm smooth if the maximal increase in page faults is proportional to the
number of changes in the request sequence. We also introduce quantitative
smoothness notions that measure the smoothness of an algorithm. We derive lower
and upper bounds on the smoothness of deterministic and randomized
demand-paging and competitive algorithms. Among strongly-competitive
deterministic algorithms LRU matches the lower bound, while FIFO matches the
upper bound.
Well-known randomized algorithms like Partition, Equitable, or Mark are shown
not to be smooth. We introduce two new randomized algorithms, called
Smoothed-LRU and LRU-Random. Smoothed- LRU allows to sacrifice competitiveness
for smoothness, where the trade-off is controlled by a parameter. LRU-Random is
at least as competitive as any deterministic algorithm while smoother.Comment: Full version of paper presented at WAOA 201
Visual software analytics for the build optimization of large-scale software systems
Software visualization, Visual analytics, Static analysis,