Introduction to Reliable and Secure Distributed Programming

Introduction to Reliable and Secure Distributed Programming
Author: Christian Cachin
Publisher: Springer
Total Pages: 0
Release: 2014-10-14
Genre: Computers
ISBN: 9783642423277

In modern computing a program is usually distributed among several processes. The fundamental challenge when developing reliable and secure distributed programs is to support the cooperation of processes required to execute a common task, even when some of these processes fail. Failures may range from crashes to adversarial attacks by malicious processes. Cachin, Guerraoui, and Rodrigues present an introductory description of fundamental distributed programming abstractions together with algorithms to implement them in distributed systems, where processes are subject to crashes and malicious attacks. The authors follow an incremental approach by first introducing basic abstractions in simple distributed environments, before moving to more sophisticated abstractions and more challenging environments. Each core chapter is devoted to one topic, covering reliable broadcast, shared memory, consensus, and extensions of consensus. For every topic, many exercises and their solutions enhance the understanding This book represents the second edition of "Introduction to Reliable Distributed Programming". Its scope has been extended to include security against malicious actions by non-cooperating processes. This important domain has become widely known under the name "Byzantine fault-tolerance".

Concrete Abstractions

Concrete Abstractions
Author: Max Hailperin
Publisher: Max Hailperin
Total Pages: 686
Release: 1999
Genre: Abstract data types (Computer science).
ISBN: 0534952119

CONCRETE ABSTRACTIONS offers students a hands-on, abstraction-based experience of thinking like a computer scientist. This text covers the basics of programming and data structures, and gives first-time computer science students the opportunity to not only write programs, but to prove theorems and analyze algorithms as well. Students learn a variety of programming styles, including functional programming, assembly-language programming, and object-oriented programming (OOP). While most of the book uses the Scheme programming language, Java is introduced at the end as a second example of an OOP system and to demonstrate concepts of concurrent programming.

Abstractions for Efficient and Reliable Serverless Computing

Abstractions for Efficient and Reliable Serverless Computing
Author: Qian Li (Researcher in computer science)
Publisher:
Total Pages: 0
Release: 2023
Genre:
ISBN:

Serverless, also known as function-as-a-service (FaaS), is an increasingly important paradigm in cloud computing. Developers register functions to a managed FaaS platform to serve user requests without the need to maintain their own servers. FaaS abstracts away the complexity of managing infrastructure, offers high availability, and automatically scales. However, today's FaaS platforms are often inefficient and unreliable, leaving developers with several complex application management challenges. Specifically, there are three key challenges: (1) minimizing cost while maintaining performance under varying load, (2) providing strong fault-tolerance guarantees in the presence of failures, and (3) improving debuggability and observability for distributed ephemeral functions. In this dissertation, we describe three new abstractions and build three systems to enhance the cost-efficiency, reliability, and debuggability of FaaS applications. We focus on two important categories of FaaS applications: compute-intensive, such as image recognition services, and data-centric, such as e-commerce web services. First, we address the challenge of cost efficiency for ML inference serving, a growing category of compute-intensive tasks. In particular, we tackle the key question of how to automatically configure and manage resources and models to minimize cost while maintaining high performance under unpredictable loads. Existing platforms usually require developers to manually search through thousands of model-variants, incurring significant costs. Therefore, we propose INFaaS, an automated model-less system where developers can easily specify performance and accuracy requirements without the need to specify a specific model-variant for each query. INFaaS generates model-variants from already trained models and efficiently navigates the large trade-off space of model-variants on behalf of developers to achieve application-specific objectives. By leveraging heterogeneous compute resources and efficient resource sharing, INFaaS guarantees application requirements while minimizing costs. Second, we address the challenge of providing fault tolerance while achieving high performance for data-centric applications. Existing FaaS platforms support these applications poorly because they physically and logically separate application logic, executed in cloud functions, from data management, done in interactive transactions accessing remote databases. Physical separation harms performance, and logical separation complicates efficiently providing fault tolerance. To solve this issue, we propose Apiary, a high-performance database-integrated FaaS platform for deploying and composing fault-tolerant transactional functions. Apiary wraps a distributed database engine and uses it as a unified runtime for function execution, data management, and operational logging. By physically co-locating and logically integrating function execution and data management, Apiary delivers similar or stronger transactional guarantees as comparable systems while significantly improving performance, cost, and observability. Finally, we delve into the challenge of debugging distributed data-centric applications. These applications are hard to debug because they share data across many concurrent requests. Currently, developers need to unravel the complex interactions of thousands of concurrent events to reproduce and fix bugs. To make debugging easier, we extend the tight integration between compute and data in Apiary and explore the synergy between the way people develop and debug their database-backed applications. We propose R^3, a "time travel" tool for data-centric FaaS applications that access shared data through transactions. R^3 allows for faithful replay of past executions in a controlled environment and retroactively execution of modified code on past events, making applications easier to maintain and debug. By recording concurrency information at transaction-level granularity, R^3 enables practical time travel with minimal overhead and supports most production DBMSs. We demonstrate how R^3 simplifies debugging for real, hard-to-reproduce concurrency bugs from popular open-source web applications.

The Elements of Computing Systems

The Elements of Computing Systems
Author: Noam Nisan
Publisher:
Total Pages: 343
Release: 2008
Genre: Computers
ISBN: 0262640686

This title gives students an integrated and rigorous picture of applied computer science, as it comes to play in the construction of a simple yet powerful computer system.

CISSP: Certified Information Systems Security Professional Study Guide

CISSP: Certified Information Systems Security Professional Study Guide
Author: James Michael Stewart
Publisher: John Wiley & Sons
Total Pages: 927
Release: 2011-01-13
Genre: Computers
ISBN: 1118028279

Totally updated for 2011, here's the ultimate study guide for the CISSP exam Considered the most desired certification for IT security professionals, the Certified Information Systems Security Professional designation is also a career-booster. This comprehensive study guide covers every aspect of the 2011 exam and the latest revision of the CISSP body of knowledge. It offers advice on how to pass each section of the exam and features expanded coverage of biometrics, auditing and accountability, software security testing, and other key topics. Included is a CD with two full-length, 250-question sample exams to test your progress. CISSP certification identifies the ultimate IT security professional; this complete study guide is fully updated to cover all the objectives of the 2011 CISSP exam Provides in-depth knowledge of access control, application development security, business continuity and disaster recovery planning, cryptography, Information Security governance and risk management, operations security, physical (environmental) security, security architecture and design, and telecommunications and network security Also covers legal and regulatory investigation and compliance Includes two practice exams and challenging review questions on the CD Professionals seeking the CISSP certification will boost their chances of success with CISSP: Certified Information Systems Security Professional Study Guide, 5th Edition.

Building a Secure Computer System

Building a Secure Computer System
Author: Morrie Gasser
Publisher: Arden Shakespeare
Total Pages: 312
Release: 1988
Genre: Computers
ISBN:

Little prior knowledge is needed to use this long-needed reference. Computer professionals and software engineers will learn how to design secure operating systems, networks and applications.

Computer Organization and Design RISC-V Edition

Computer Organization and Design RISC-V Edition
Author: David A. Patterson
Publisher: Morgan Kaufmann
Total Pages: 700
Release: 2017-05-12
Genre: Computers
ISBN: 0128122765

The new RISC-V Edition of Computer Organization and Design features the RISC-V open source instruction set architecture, the first open source architecture designed to be used in modern computing environments such as cloud computing, mobile devices, and other embedded systems. With the post-PC era now upon us, Computer Organization and Design moves forward to explore this generational change with examples, exercises, and material highlighting the emergence of mobile computing and the Cloud. Updated content featuring tablet computers, Cloud infrastructure, and the x86 (cloud computing) and ARM (mobile computing devices) architectures is included. An online companion Web site provides advanced content for further study, appendices, glossary, references, and recommended reading. Features RISC-V, the first such architecture designed to be used in modern computing environments, such as cloud computing, mobile devices, and other embedded systems Includes relevant examples, exercises, and material highlighting the emergence of mobile computing and the cloud