Modern heterogeneous computing systems demand specialized schedulers to optimize for diverse hardware topologies and workload requirements, yet the complexity of kernel scheduler development significantly limits innovation. Several frameworks have been proposed to address this problem, but these approaches impose substantial programmability constraints: they require adopting specific programming languages and toolchains, restrict kernel symbol access through language-specific wrappers that may not expose needed subsystem interactions, and introduce abstraction overhead in performance-critical scheduling paths. We present SaaKM (Scheduler as a Kernel Module), a framework enabling custom scheduler development through standard kernel modules while maintaining in-kernel performance. SaaKM decouples scheduling policy from low-level mechanisms via event-driven abstractions, providing unrestricted kernel symbol access, support for multiple concurrent policies with per-application selection, and integration with standard development tools. We evaluate SaaKM by implementing two scheduling policies and comparing their performance against equivalent sched_ext implementations across eleven diverse workloads. Results demonstrate that SaaKM achieves comparable performance to sched_ext (1.14
Consider a dynamic network and a given distributed problem. At any point in time, there might exist several solutions that are equally good with respect to the problem specification, but that are different from an algorithmic perspective, because some could be easier to update than others when the network changes. In other words, one would prefer to have a solution that is more robust to topological changes in the network; and in this direction the best scenario would be that the solution remains correct despite the dynamic of the network. In~\cite{CasteigtsDPR20}, the authors introduced a very strong robustness criterion: they required that for any removal of edges that maintain the network connected, the solution remains valid. They focus on the maximal independent set problem, and their approach consists in characterizing the graphs in which there exists a robust solution (the existential problem), or even stronger, where any solution is robust (the universal problem). As the robustness criteria is very demanding, few graphs have a robust solution, and even fewer are such that all of their solutions are robust. In this paper, we ask the following question: \textit{Can we have robustness for a larger class of networks, if we bound the number $k$ of edge removals allowed}? (See the full paper for the full abstract.)
Hierarchies are fundamental structures across various disciplines, modelling hierarchical relationships in computer science, biology, social networks, and logistics. However, dynamic and concurrent updates in real-world systems necessitate synchronisation techniques for maintaining data consistency despite concurrent access. This paper explores a novel approach called CALock to synchronise operations on hierarchies by utilising a labelling scheme that facilitates multi-granularity locking. Our approach addresses both concurrent data reads and writes as well as structural modifications. CALock exploits the hierarchical topology via a new labelling scheme to identify the common ancestors of vertices. This enables a thread to identify an appropriate lock granule for its lock request. Leveraging variable lock granularity optimises operations across the hierarchy while ensuring consistency and performance. We provide a detailed discussion of the CALock labelling and the locking algorithm, prove its properties, and evaluate it experimentally. CALock remains competitive with previous labelling schemes on static hierarchies and has better concurrency and throughput when structural modifications change the hierarchy. In particular, CALock improves throughput by up to 4.5 times and lock response time by up to 1.5 times for workloads that contain structural modifications.
We consider distributed systems subject to frequent topological changes. Specifically, we assume the network topology evolves as a dynamic graph in which, at any point in time, the temporal distance between any two processes is at most . Under a synchronous message-passing model where processes have unique identifiers and know both and an upper bound N on the number of processes n, we provide a distributed self-stabilizing mutual exclusion algorithm working in that class of dynamic graphs. Our solution stabilizes in 𝒪( .N) rounds using bounded local memories. Moreover, it achieves optimal waiting time: once stabilized, the maximum delay before a process enters its critical section is at most n-1 rounds. Our algorithm is actually a composition of several self-stabilizing building blocks that respectively achieve Leader Election, Unison, and Ranking. We also provide original self-stabilizing solutions for the latter two problems; for the self-stabilizing leader election, we use a solution given by Altisen et al. (Theoretical Computer Science, 2023).
We investigate a special case of hereditary property in graphs, referred to as {\em robustness}. A property (or structure) is called robust in a graph $G$ if it is inherited by all the connected spanning subgraphs of $G$. We motivate this definition using two different settings of dynamic networks. The first corresponds to networks of low dynamicity, where some links may be permanently removed so long as the network remains connected. The second corresponds to highly-dynamic networks, where communication links appear and disappear arbitrarily often, subject only to the requirement that the entities are temporally connected in a recurrent fashion ({\it i.e.} they can always reach each other through temporal paths). Each context induces a different interpretation of the notion of robustness. We start by motivating the definition and discussing the two interpretations, after what we consider the notion independently from its interpretation, taking as our focus the robustness of {\em maximal independent sets} (MIS). A graph may or may not admit a robust MIS. We characterize the set of graphs \forallMIS in which {\em all} MISs are robust. Then, we turn our attention to the graphs that {\em admit} a robust MIS (\existsMIS). This class has a more complex structure; we give a partial characterization in terms of elementary graph properties, then a complete characterization by means of a (polynomial time) decision algorithm that accepts if and only if a robust MIS exists. This algorithm can be adapted to construct such a solution if one exists.
In this paper we show that approximation can help reduce the space used for self-stabilization. In the classic state model , where the nodes of a network communicate by reading the states of their neighbors, an important measure of efficiency is the space: the number of bits used at each node to encode the state. In this model, a classic requirement is that the algorithm has to be silent , that is, after stabilization the states should not change anymore. We design a silent self-stabilizing algorithm for the problem of minimum spanning tree, that has a trade-off between the quality of the solution and the space needed to compute it.
Objectives. The pharmaceutical analysis of drug prescriptions is one of the key steps in the drug circuit. This mandatory regulatory practice in France and Quebec is based on national standards. The main objective of this work was to compare the practical methods of pharmaceutical analysis performed in French and Quebec university hospitals. Methods. This is a prospective comparative survey conducted in 2 French and Quebec university hospital centres among pharmacists and pharmacy residents. Results. The response rate to the survey was 60% (45/75). Between 16 and 22 elements were deemed necessary to structure the centralized, decentralized or mixed pharmaceutical analysis. The chronological ranking of these elements was comparable between the French and Quebec participants. All participants were in favour of the development of initial and continuing training in pharmaceutical analysis. Finally, the majority of participants were against using individual pharmaceutical analysis performance indicators to optimize the process (82%; 37/45). Conclusions. The French -Quebec practice of prescription analysis by a ward -pharmacist complies with national standards. The main differences in the practice of pharmaceutical analysis are related to the types of organization, the tools available and the length of time pharmacists have been deployed in care units in France and Quebec. 0 2019 Published by Elsevier Masson SAS on behalf of Academie Nationale de Pharmacie.
Self-stabilization is a desirable property for modern distributed systems. Indeed, a self-stabilizing (distributed) system [4] is guaranteed to converge to its intended behavior in finite time regardless of the initial state of the processors and initial messages in the links. It is a versatile technique to design distributed algorithms that withstand transient faults. Moreover, it requires no initialization phase, which is particularly suitable for the development of large-scale systems. Adaptive algorithms [5, 3, 1, 2] are a promising approach for distributed computing. Indeed, such algorithms adapt themselves to their environment to provide a best-effort solution. There exists mainly two adaptive approaches. Speculation [5, 3] provides protocols that adapt their performance to their environment (the “easier” is the environment, the better is the performance). On the other hand, graceful degradation [1, 2] leads to protocols adapting the quality of their solution to the environment (the “harder” is the environment, the lower is the quality). Those two approaches are intrinsically orthogonal. The first approach is motivated by lower bounds results on complexity while the second is motivated by impossibility results. Previous results [3] show that speculation may be applied to self-stabilization and allows the design of self-stabilizing algorithms whose stabilization time depends on the environment at the time of their execution. For now, graceful degradation was not studied in the scope of self-stabilization.
This book aims at being a comprehensive and pedagogical introduction to the concept of self-stabilization, introduced by Edsger Wybe Dijkstra in 1973. Self-stabilization characterizes the ability of a
In its classical form, a consistent replicated service requires all replicas to witness the same evolution of the service state. Assuming a message-passing environment with a majority of correct processes, the necessary and sufficient information about failures for implementing a general state machine replication scheme ensuring consistency is captured by the {\Omega} failure detector. This paper shows that in such a message-passing environment, {\Omega} is also the weakest failure detector to implement an eventually consistent replicated service, where replicas are expected to agree on the evolution of the service state only after some (a priori unknown) time. In fact, we show that {\Omega} is the weakest to implement eventual consistency in any message-passing environment, i.e., under any assumption on when and where failures might occur. Ensuring (strong) consistency in any environment requires, in addition to {\Omega}, the quorum failure detector {\Sigma}. Our paper thus captures, for the first time, an exact computational difference be- tween building a replicated state machine that ensures consistency and one that only ensures eventual consistency.
•L’analyse pharmaceutique des prescriptions est une obligation réglementaire.•La pratique de l’analyse de prescription est conforme aux référentiels nationaux.•L’analyse franco-québécoise centralisée et centralisée-décentralisée est variable.•Le déploiement d’outils électroniques améliore l’efficience de l’analyse.•Le renforcement de la formation théorique et pratique est un levier d’action.
In this paper we study the task of approach of two mobile agents having the same limited range of vision and moving asynchronously in the plane. This task consists in getting them in finite time within each other's range of vision. The agents execute the same deterministic algorithm and are assumed to have a compass showing the cardinal directions as well as a unit measure. On the other hand, they do not share any global coordinates system (like GPS), cannot communicate and have distinct labels. Each agent knows its label but does not know the label of the other agent or the initial position of the other agent relative to its own. The route of an agent is a sequence of segments that are subsequently traversed in order to achieve approach. For each agent, the computation of its route depends only on its algorithm and its label. An adversary chooses the initial positions of both agents in the plane and controls the way each of them moves along every segment of the routes, in particular by arbitrarily varying the speeds of the agents. A deterministic approach algorithm is a deterministic algorithm that always allows two agents with any distinct labels to solve the task of approach regardless of the choices and the behavior of the adversary. The cost of a complete execution of an approach algorithm is the length of both parts of route travelled by the agents until approach is completed. Let $\Delta$ and $l$ be the initial distance separating the agents and the length of the shortest label, respectively. Assuming that $\Delta$ and $l$ are unknown to both agents, does there exist a deterministic approach algorithm always working at a cost that is polynomial in $\Delta$ and $l$? In this paper, we provide a positive answer to the above question by designing such an algorithm.
Gracefully degrading algorithms [Biely et al., TCS 2018] are designed to circumvent impossibility results in dynamic systems by adapting themselves to the dynamics. Indeed, such an algorithm solves a given problem under some dynamics and, moreover, guarantees that a weaker (but related) problem is solved under a higher dynamics under which the original problem is impossible to solve. The underlying intuition is to solve the problem whenever possible but to provide some kind of quality of service if the dynamics become (unpredictably) higher. In this paper, we apply for the first time this approach to robot networks. We focus on the fundamental problem of gathering a squad of autonomous robots on an unknown location of a dynamic ring. In this goal, we introduce a set of weaker variants of this problem. Motivated by a set of impossibility results related to the dynamics of the ring, we propose a gracefully degrading gathering algorithm.
The diameter of a network is one of the most fundamental network parameters. Being able to compute the diameter is an important problem in the analysis of large networks, and moreover this parameter has many important practical applications in real networks. As a consequence, it is natural to study this problem in a distributed system, and more specifically in a distributed system tolerant to transient faults. More specifically, we are interested in the problem to identify one of the centers of graph. Once done, we construct a minimum diameter spanning tree rooted in this centre. Of course, the challenging problem is to compute one centre of the graph. We present a uniform self-stabilizing algorithm for the minimum diameter spanning tree construction problem in the state model. Our protocol has several attractive features that makes it suitable for practical purposes. It is the first algorithm for this problem that operates under the unfair adversary (also called unfair daemon). In other words, no restriction is made on the distributed behaviour of the system. Consequently, it is the hardest adversary to deal with. Moreover, our algorithm needs only O(log n) bits of memory per process (where n is the number of processes), that improves the previous result by a factor n. These improvements are not achieved to the detriment of the convergence time, that stays reasonable with O(n2) rounds.
Alain Cournier合作论文数Faculty of Mathematics and Computer Science
University of Picardie Jules Verne6