7 research outputs found

    Hazard-free clock synchronization

    Get PDF
    The growing complexity of microprocessors makes it infeasible to distribute a single clock source over the whole processor with a small clock skew. Hence, chips are split into multiple clock regions, each covered by a single clock source. This poses a problem for communication between these clock regions. Clock synchronization algorithms promise an advantage over state-of-the-art solutions, such as GALS systems. When clock regions are synchronous the communication latency improves significantly over handshake-based solutions. We focus on the implementation of clock synchronization algorithms. A major obstacle when implementing circuits on clock domain crossings are hazardous signals. We can formally define hazards by extending the Boolean logic by a third value u. In this thesis, we describe a theory for designing and analyzing hazard-free circuits. We develop strategies for hazard-free encoding and construction of hazard-free circuits from finite state machines. Furthermore, we discuss clock synchronization algorithms and a possible combination of them. In the end, we present two implementations of the GCS algorithm by Lenzen, Locher, and Wattenhofer (JACM 2010). We prove by rigorous analysis that the systems implement the algorithm. The theory described above is used to prove that our clock synchronization circuits are hazard-free (in the sense that they compute the most precise output possible). Simulation of our GCS system shows that it achieves a skew between neighboring clock regions that is smaller than a few inverter delays.Aufgrund der zunehmenden Komplexität von Mikroprozessoren ist es unmöglich, mit einer einzigen Taktquelle den gesamten Prozessor ohne großen Versatz zu takten. Daher werden Chips in mehrere Regionen aufgeteilt, die jeweils von einer einzelnen Taktquelle abgedeckt werden. Dies stellt ein Problem für die Kommunikation zwischen diesen Taktregionen dar. Algorithmen zur Taktsynchronisation bieten einen Vorteil gegenüber aktuellen Lösungen, wie z.B. GALS-Systemen. Synchronisiert man die Taktregionen, so verbessert sich die Latenz der Kommunikation erheblich. In Schaltkreisen zwischen zwei Taktregionen können undefinierte Signale, sogenannte Hazards auftreten. Indem wir die boolesche Algebra um einen dritten Wert u erweitern, können wir diese Hazards formal definieren. In dieser Arbeit zeigen wir eine Methode zum Entwurf und zur Analyse von hazard-freien Schaltungen. Wir entwickeln Strategien für Kodierungen die Hazards vermeiden und zur Konstruktion von hazard-freien Schaltungen. Darüber hinaus stellen wir Algorithmen Taktsynchronisation vor und wie diese kombiniert werden können. Zum Schluss stellen wir zwei Implementierungen des GCS-Algorithmus von Lenzen, Locher und Wattenhofer (JACM 2010) vor. Oben genannte Mechanismen werden verwendet, um formal zu beweisen, dass diese Implementierungen korrekt sind. Die Implementierung hat keine Hazards, das heißt sie berechnet die bestmo ̈gliche Ausgabe. Anschließende Simulation der GCS Implementierung erzielt einen Versatz zwischen benachbarten Taktregionen, der kleiner als ein paar Gatter-Laufzeiten ist

    Randomness Generation for Secure Hardware Masking - Unrolled Trivium to the Rescue

    Get PDF
    Masking is a prominent strategy to protect cryptographic implementations against side-channel analysis. Its popularity arises from the exponential security gains that can be achieved for (approximately) quadratic resource utilization. Many variants of the countermeasure tailored for different optimization goals have been proposed over the past decades. The common denominator among all of them is the implicit demand for robust and high entropy randomness. Simply assuming that uniformly distributed random bits are available, without taking the cost of their generation into account, leads to a poor understanding of the efficiency and performance of secure implementations. This is especially relevant in case of hardware masking schemes which are known to consume large amounts of random bits per cycle due to parallelism. Currently, there seems to be no consensus on how to most efficiently derive many pseudo-random bits per clock cycle from an initial seed and with properties suitable for masked hardware implementations. In this work, we evaluate a number of building blocks for this purpose and find that hardware-oriented stream ciphers like Trivium and its reduced-security variant Bivium B outperform all competitors when implemented in an unrolled fashion. Unrolled implementations of these primitives enable the flexible generation of many bits per cycle while maintaining high performance, which is crucial for satisfying the large randomness demands of state-of-the-art masking schemes. According to our analysis, only Linear Feedback Shift Registers (LFSRs), when also unrolled, are capable of producing long non-repetitive sequences of random-looking bits at a high rate per cycle even more efficiently than Trivium and Bivium B. Yet, these instances do not provide black-box security as they generate only linear outputs. We experimentally demonstrate that using multiple output bits from an LFSR in the same masked implementation can violate probing security and even lead to harmful randomness cancellations. Circumventing these problems, and enabling an independent analysis of randomness generation and masking scheme, requires the use of cryptographically stronger primitives like stream ciphers. As a result of our studies, we provide an evidence-based estimate for the cost of securely generating n fresh random bits per cycle. Depending on the desired level of black-box security and operating frequency, this cost can be as low as 20n to 30n ASIC gate equivalents (GE) or 3n to 4n FPGA look-up tables (LUTs), where n is the number of random bits required. Our results demonstrate that the cost per bit is (sometimes significantly) lower than estimated in previous works, incentivizing parallelism whenever exploitable and potentially moving low randomness usage in hardware masking research from a primary to secondary design goal

    Hyperscale Data Processing With Network-Centric Designs

    Get PDF
    Today’s largest data processing workloads are hosted in cloud data centers. Due to unprecedented data growth and the end of Moore’s Law, these workloads have ballooned to the hyperscale level, encompassing billions to trillions of data items and hundreds to thousands of machines per query. Enabling and expanding with these workloads are highly scalable data center networks that connect up to hundreds of thousands of networked servers. These massive scales fundamentally challenge the designs of both data processing systems and data center networks, and the classic layered designs are no longer sustainable. Rather than optimize these massive layers in silos, we build systems across them with principled network-centric designs. In current networks, we redesign data processing systems with network-awareness to minimize the cost of moving data in the network. In future networks, we propose new interfaces and services that the cloud infrastructure offers to applications and codesign data processing systems to achieve optimal query processing performance. To transform the network to future designs, we facilitate network innovation at scale. This dissertation presents a line of systems work that covers all three directions. It first discusses GraphRex, a network-aware system that combines classic database and systems techniques to push the performance of massive graph queries in current data centers. It then introduces data processing in disaggregated data centers, a promising new cloud proposal. It details TELEPORT, a compute pushdown feature that eliminates data processing performance bottlenecks in disaggregated data centers, and Redy, which provides high-performance caches using remote disaggregated memory. Finally, it presents MimicNet, a fine-grained simulation framework that evaluates network proposals at datacenter scale with machine learning approximation. These systems demonstrate that our ideas in network-centric designs achieve orders of magnitude higher efficiency compared to the state of the art at hyperscale

    MediaSync: Handbook on Multimedia Synchronization

    Get PDF
    This book provides an approachable overview of the most recent advances in the fascinating field of media synchronization (mediasync), gathering contributions from the most representative and influential experts. Understanding the challenges of this field in the current multi-sensory, multi-device, and multi-protocol world is not an easy task. The book revisits the foundations of mediasync, including theoretical frameworks and models, highlights ongoing research efforts, like hybrid broadband broadcast (HBB) delivery and users' perception modeling (i.e., Quality of Experience or QoE), and paves the way for the future (e.g., towards the deployment of multi-sensory and ultra-realistic experiences). Although many advances around mediasync have been devised and deployed, this area of research is getting renewed attention to overcome remaining challenges in the next-generation (heterogeneous and ubiquitous) media ecosystem. Given the significant advances in this research area, its current relevance and the multiple disciplines it involves, the availability of a reference book on mediasync becomes necessary. This book fills the gap in this context. In particular, it addresses key aspects and reviews the most relevant contributions within the mediasync research space, from different perspectives. Mediasync: Handbook on Multimedia Synchronization is the perfect companion for scholars and practitioners that want to acquire strong knowledge about this research area, and also approach the challenges behind ensuring the best mediated experiences, by providing the adequate synchronization between the media elements that constitute these experiences

    Prijedlog ontološki utemeljenog metodološkog okvira za razvoj više-platformskih mobilnih aplikacija

    Get PDF
    Software development teams are faced with the lack of interoperability during the development of mobile applications for two or more target platforms. The development for second and every other platform means a new project with a need to repeat almost all the phases defined by the chosen methodology but with a narrow possibility of reuse of the already defined artifacts. The existing efforts of professional and scientific community to solve this problem have a similar approach (code once, run everywhere) with similar advantages and drawbacks. Thus, this dissertation aims to propose a different solution and is concerned with: (1) analyzing the methodologies suitable for mobile applications development, (2) observing the implementation of prototype application in order to define artifacts that are created during the development process for two target platforms, (3) semantic description of artifacts and their meaning, and (4) defining unique ontological definition as a base for methodological interoperability. The results of a systematic literature review performed on 6761 primary studies, show that current state-of-the-art literature brings only 22 development methodologies and 7 development approaches which can be identified as eligible for multi-platform mobile applications development. Among these, Mobile-D methodology accompanied with Test Driven Development was chosen and used in the observed development processes for Android and Windows Phone platforms. Total of 71 artifacts were identified and the artifacts reusability level when developing for second target platform was 66.00%. In the last research phase, the artifacts for both platforms were semantically described into a single ontological description comprising 213 classes, 14 object properties and 2213 axioms defined in ALCRIF DL expression sub-language. Having this ontology proved as correct and valid, flexible, reusable and extensible we created the basis for development of an information system to guide the development teams in a more efficient and interoperable process of multiplatform mobile applications development.Razvojni timovi susreću se s problemom neinteroperabilnosti prilikom razvoja aplikacija za dvije ili više mobilnih platformi. Razvoj aplikacije za drugu i svaku sljedeću platformu znači novi projekt u kojem je potrebno ponovno provesti većinu faza definiranih odabranom metodikom razvoja, pri čemu se kreirani artefakti teško ili uopće ponovno ne koriste. Napori profesionalne i znanstvene zajednice za rješenjem ovog problema imaju sličan pristup (kodiraj jednom, koristi svugdje), slične prednosti, ali i zajedničke nedostatke. Stoga ova disertacija navedenom problemu pristupa na nov način i bavi se: (1) analiziranjem metodika pogodnih za razvoj mobilnih aplikacija, (2) promatranjem razvoja prototipne aplikacije u svrhu definiranja artefakata koji nastaju pri razvoju mobilne aplikacije za dvije ciljane platforme, (3) semantičkim opisivanjem definiranih artefakata i njihovih značenja, te (4) definiranjem jedinstvene ontološke definicije kao osnove za metodološku interoperabilnost. Rezultati sustavnog pregleda literature provedenog nad 6761 radom pokazali su da se trenutno u literaturi spominju 22 metodike i 7 pristupa koji su pogodni za razvoj više-platformskih mobilnih aplikacija. Između identificiranih metodika odabrani su Mobile-D metodika i pristup razvoju vođen testiranjem, koji su korišteni pri implementaciji prototipnog rješenja za Android i Windows Phone platformu. Ukupno je identificiran 71 artefakt pri čemu je ponovna iskoristivost artefakata pri razvoju za drugu platformu bila 66.00%. U posljednjoj su fazi istraživanja artefakti semantički opisani u zajedničku ontološku definiciju koja u konačnici sadrži 213 klasa, 14 objektnih svojstava i 2213 aksioma definiranih pomodu ALCRIF-DL jezika izraza. U radu je dokazano da je ontologija valjana, fleksibilna, ponovno iskoristiva i nadogradiva, čime je kreirana osnova za razvoj informacijskog sustava koji bi vodio razvojne timove u efikasnijem i bolje interoperabilnom procesu razvoja više-platformskih mobilnih aplikacija

    Prijedlog ontološki utemeljenog metodološkog okvira za razvoj više-platformskih mobilnih aplikacija

    Get PDF
    Software development teams are faced with the lack of interoperability during the development of mobile applications for two or more target platforms. The development for second and every other platform means a new project with a need to repeat almost all the phases defined by the chosen methodology but with a narrow possibility of reuse of the already defined artifacts. The existing efforts of professional and scientific community to solve this problem have a similar approach (code once, run everywhere) with similar advantages and drawbacks. Thus, this dissertation aims to propose a different solution and is concerned with: (1) analyzing the methodologies suitable for mobile applications development, (2) observing the implementation of prototype application in order to define artifacts that are created during the development process for two target platforms, (3) semantic description of artifacts and their meaning, and (4) defining unique ontological definition as a base for methodological interoperability. The results of a systematic literature review performed on 6761 primary studies, show that current state-of-the-art literature brings only 22 development methodologies and 7 development approaches which can be identified as eligible for multi-platform mobile applications development. Among these, Mobile-D methodology accompanied with Test Driven Development was chosen and used in the observed development processes for Android and Windows Phone platforms. Total of 71 artifacts were identified and the artifacts reusability level when developing for second target platform was 66.00%. In the last research phase, the artifacts for both platforms were semantically described into a single ontological description comprising 213 classes, 14 object properties and 2213 axioms defined in ALCRIF DL expression sub-language. Having this ontology proved as correct and valid, flexible, reusable and extensible we created the basis for development of an information system to guide the development teams in a more efficient and interoperable process of multiplatform mobile applications development.Razvojni timovi susreću se s problemom neinteroperabilnosti prilikom razvoja aplikacija za dvije ili više mobilnih platformi. Razvoj aplikacije za drugu i svaku sljedeću platformu znači novi projekt u kojem je potrebno ponovno provesti većinu faza definiranih odabranom metodikom razvoja, pri čemu se kreirani artefakti teško ili uopće ponovno ne koriste. Napori profesionalne i znanstvene zajednice za rješenjem ovog problema imaju sličan pristup (kodiraj jednom, koristi svugdje), slične prednosti, ali i zajedničke nedostatke. Stoga ova disertacija navedenom problemu pristupa na nov način i bavi se: (1) analiziranjem metodika pogodnih za razvoj mobilnih aplikacija, (2) promatranjem razvoja prototipne aplikacije u svrhu definiranja artefakata koji nastaju pri razvoju mobilne aplikacije za dvije ciljane platforme, (3) semantičkim opisivanjem definiranih artefakata i njihovih značenja, te (4) definiranjem jedinstvene ontološke definicije kao osnove za metodološku interoperabilnost. Rezultati sustavnog pregleda literature provedenog nad 6761 radom pokazali su da se trenutno u literaturi spominju 22 metodike i 7 pristupa koji su pogodni za razvoj više-platformskih mobilnih aplikacija. Između identificiranih metodika odabrani su Mobile-D metodika i pristup razvoju vođen testiranjem, koji su korišteni pri implementaciji prototipnog rješenja za Android i Windows Phone platformu. Ukupno je identificiran 71 artefakt pri čemu je ponovna iskoristivost artefakata pri razvoju za drugu platformu bila 66.00%. U posljednjoj su fazi istraživanja artefakti semantički opisani u zajedničku ontološku definiciju koja u konačnici sadrži 213 klasa, 14 objektnih svojstava i 2213 aksioma definiranih pomodu ALCRIF-DL jezika izraza. U radu je dokazano da je ontologija valjana, fleksibilna, ponovno iskoristiva i nadogradiva, čime je kreirana osnova za razvoj informacijskog sustava koji bi vodio razvojne timove u efikasnijem i bolje interoperabilnom procesu razvoja više-platformskih mobilnih aplikacija

    Prijedlog ontološki utemeljenog metodološkog okvira za razvoj više-platformskih mobilnih aplikacija

    Get PDF
    Software development teams are faced with the lack of interoperability during the development of mobile applications for two or more target platforms. The development for second and every other platform means a new project with a need to repeat almost all the phases defined by the chosen methodology but with a narrow possibility of reuse of the already defined artifacts. The existing efforts of professional and scientific community to solve this problem have a similar approach (code once, run everywhere) with similar advantages and drawbacks. Thus, this dissertation aims to propose a different solution and is concerned with: (1) analyzing the methodologies suitable for mobile applications development, (2) observing the implementation of prototype application in order to define artifacts that are created during the development process for two target platforms, (3) semantic description of artifacts and their meaning, and (4) defining unique ontological definition as a base for methodological interoperability. The results of a systematic literature review performed on 6761 primary studies, show that current state-of-the-art literature brings only 22 development methodologies and 7 development approaches which can be identified as eligible for multi-platform mobile applications development. Among these, Mobile-D methodology accompanied with Test Driven Development was chosen and used in the observed development processes for Android and Windows Phone platforms. Total of 71 artifacts were identified and the artifacts reusability level when developing for second target platform was 66.00%. In the last research phase, the artifacts for both platforms were semantically described into a single ontological description comprising 213 classes, 14 object properties and 2213 axioms defined in ALCRIF DL expression sub-language. Having this ontology proved as correct and valid, flexible, reusable and extensible we created the basis for development of an information system to guide the development teams in a more efficient and interoperable process of multiplatform mobile applications development.Razvojni timovi susreću se s problemom neinteroperabilnosti prilikom razvoja aplikacija za dvije ili više mobilnih platformi. Razvoj aplikacije za drugu i svaku sljedeću platformu znači novi projekt u kojem je potrebno ponovno provesti većinu faza definiranih odabranom metodikom razvoja, pri čemu se kreirani artefakti teško ili uopće ponovno ne koriste. Napori profesionalne i znanstvene zajednice za rješenjem ovog problema imaju sličan pristup (kodiraj jednom, koristi svugdje), slične prednosti, ali i zajedničke nedostatke. Stoga ova disertacija navedenom problemu pristupa na nov način i bavi se: (1) analiziranjem metodika pogodnih za razvoj mobilnih aplikacija, (2) promatranjem razvoja prototipne aplikacije u svrhu definiranja artefakata koji nastaju pri razvoju mobilne aplikacije za dvije ciljane platforme, (3) semantičkim opisivanjem definiranih artefakata i njihovih značenja, te (4) definiranjem jedinstvene ontološke definicije kao osnove za metodološku interoperabilnost. Rezultati sustavnog pregleda literature provedenog nad 6761 radom pokazali su da se trenutno u literaturi spominju 22 metodike i 7 pristupa koji su pogodni za razvoj više-platformskih mobilnih aplikacija. Između identificiranih metodika odabrani su Mobile-D metodika i pristup razvoju vođen testiranjem, koji su korišteni pri implementaciji prototipnog rješenja za Android i Windows Phone platformu. Ukupno je identificiran 71 artefakt pri čemu je ponovna iskoristivost artefakata pri razvoju za drugu platformu bila 66.00%. U posljednjoj su fazi istraživanja artefakti semantički opisani u zajedničku ontološku definiciju koja u konačnici sadrži 213 klasa, 14 objektnih svojstava i 2213 aksioma definiranih pomodu ALCRIF-DL jezika izraza. U radu je dokazano da je ontologija valjana, fleksibilna, ponovno iskoristiva i nadogradiva, čime je kreirana osnova za razvoj informacijskog sustava koji bi vodio razvojne timove u efikasnijem i bolje interoperabilnom procesu razvoja više-platformskih mobilnih aplikacija
    corecore