Title Line Subtitle Line Top of Content Box Line Top of Footer Line Left Margin LineRight Margin Line Top of Footer Line Top of Content Box Line Subtitle.

Slides:



Advertisements
Similar presentations
Executional Architecture
Advertisements

SDN Controller Challenges
JavaSpaces and TSpaces Theresa Tamash CDA 5937 November 4, 2002.
Extensibility, Safety and Performance in the SPIN Operating System Presented by Allen Kerr.
Parasol Architecture A mild case of scary asynchronous system stuff.
Computer Monitoring System for EE Faculty By Yaroslav Ross And Denis Zakrevsky Supervisor: Viktor Kulikov.
Distributed Systems Architectures
EJB Design. Server-side components Perform –complex algorithms –high volume transactions Run in –highly available environment (365 days/year) –fault tolerant.
Scripting Languages For Virtual Worlds. Outline Necessary Features Classes, Prototypes, and Mixins Static vs. Dynamic Typing Concurrency Versioning Distribution.
Component-Based Software Engineering Introducing the Bank Example Paul Krause.
1 Programming systems for distributed applications Seif Haridi KTH/SICS.
Application Architectures Vijayan Sugumaran Department of DIS Oakland University.
By: Devesh Sharma.  Why Cloud Computing? ◦ Traditional Business Applications  Expensive  Complicated  Difficult to manage  Idea behind Cloud Computing.
Dynamics AX Technical Overview Application Architecture Dynamics AX Technical Overview.
Web Application Architecture: multi-tier (2-tier, 3-tier) & mvc
Client/Server Software Architectures Yonglei Tao.
N-Tier Architecture.
Presented by: Alvaro Llanos E.  Motivation and Overview  Frangipani Architecture overview  Similar DFS  PETAL: Distributed virtual disks ◦ Overview.
31 January 2007Craig E. Ward1 Large-Scale Simulation Experimentation and Analysis Database Programming Using Java.
Managing Large RDF Graphs (Infinite Graph) Vaibhav Khadilkar Department of Computer Science, The University of Texas at Dallas FEARLESS engineering.
1 The Google File System Reporter: You-Wei Zhang.
Database System Concepts and Architecture Lecture # 3 22 June 2012 National University of Computer and Emerging Sciences.
What is Architecture  Architecture is a subjective thing, a shared understanding of a system’s design by the expert developers on a project  In the.
JAVA Introduction ● One of the main JAVA design goal is reducing complexity for programmer – Development time is half or less comparing to equivalent C++
Institute of Computer and Communication Network Engineering OFC/NFOEC, 6-10 March 2011, Los Angeles, CA Lessons Learned From Implementing a Path Computation.
Chapter 2 Database System Architecture. An “architecture” for a database system. A specification of how it will work, what it will “look like.” The “ANSI/SPARC”
B.Ramamurthy9/19/20151 Operating Systems u Bina Ramamurthy CS421.
M i SMob i S Mob i Store - Mobile i nternet File Storage Platform Chetna Kaur.
CST203-2 Database Management Systems Lecture 2. One Tier Architecture Eg: In this scenario, a workgroup database is stored in a shared location on a single.
JBoss Cache. Cache A place to temporarily store data that is expensive or difficult to compute or retrieve. Caches should be fast to access. May or may.
Computer Measurement Group, India Optimal Design Principles for better Performance of Next generation Systems Balachandar Gurusamy,
Enterprise Java Bean Matt. 2 J2EE 3 J2EE Overview.
Meet with the AppEngine Márk Gergely eu.edge. What is AppEngine? It’s a tool, that lets you run your web applications on Google's infrastructure. –Google's.
2/6/01D-1 © 2001 T. Horton CS 494 Object-Oriented Analysis & Design Using PARTS to Illustrate Requirements Concepts.
4/2/03I-1 © 2001 T. Horton CS 494 Object-Oriented Analysis & Design Software Architecture and Design Readings: Ambler, Chap. 7 (Sections to start.
Ideas to Improve SharePoint Usage 4. What are these 4 Ideas? 1. 7 Steps to check SharePoint Health 2. Avoid common Deployment Mistakes 3. Analyze SharePoint.
Alcatel-Lucent CDC Workshop, Coaching & Knowledge Transfer Architecture.
Data Warehousing Data Mining Privacy. Reading Bhavani Thuraisingham, Murat Kantarcioglu, and Srinivasan Iyer Extended RBAC-design and implementation.
A Presentation to Oracle OpenWorld Blistering Web Applications with Oracle TimesTen In Memory Option.
The Client/Server Database Environment Ployphan Sornsuwit KPRU Ref.
Andrew S. Budarevsky Adaptive Application Data Management Overview.
© 2006 IBM Corporation Agile Planning Web UI. © 2006 IBM Corporation Agenda  Overview of APT Web UI  Current Issues  Required Infrastructure  API.
Title Line Subtitle Line Top of Content Box Line Top of Footer Line Left Margin LineRight Margin Line Top of Footer Line Top of Content Box Line Subtitle.
INFO1408 Database Design Concepts Week 15: Introduction to Database Management Systems.
 Apache Airavata Architecture Overview Shameera Rathnayaka Graduate Assistant Science Gateways Group Indiana University 07/27/2015.
The Replica Location Service The Globus Project™ And The DataGrid Project Copyright (c) 2002 University of Chicago and The University of Southern California.
CPSC 871 John D. McGregor Module 4 Session 1 Architecture Analysis/Design.
Eduardo Gutarra Velez. Outline Distributed Filesystems Motivation Google Filesystem Architecture The Metadata Consistency Model File Mutation.
Enterprise Java Beans. Model 1 J2EE – Web View Model/View/Controller Model View Control Data base Web Server Model One Architecture HTTP Request HTTP.
1 Java Servlets l Servlets : programs that run within the context of a server, analogous to applets that run within the context of a browser. l Used to.
CSI 3125, Preliminaries, page 1 SERVLET. CSI 3125, Preliminaries, page 2 SERVLET A servlet is a server-side software program, written in Java code, that.
AMQP, Message Broker Babu Ram Dawadi. overview Why MOM architecture? Messaging broker like RabbitMQ in brief RabbitMQ AMQP – What is it ?
Distributed System Architectures Yonsei University 2 nd Semester, 2014 Woo-Cheol Kim.
The Project Presentation April 28, : Fault-Tolerant Distributed Systems Team 7-Sixers Kyu Hou Minho Jeung Wangbong Lee Heejoon Jung Wen Shu.
Designing a Middleware Server for Abstract Database Connection.
Cloud Computing: Pay-per-Use for On-Demand Scalability Developing Cloud Computing Applications with Open Source Technologies Shlomo Swidler.
Two New UML Diagram Types Component Diagram Deployment Diagram.
Monitoring Dynamic IOC Installations Using the alive Record Dohn Arms Beamline Controls & Data Acquisition Group Advanced Photon Source.
Development of concurrent and distributed programs with the Actor model and Akka César Aguilera Padilla Thematic CERN School of Computing Split, 27th of.
Java Distributed Object System
CSE-291 Cloud Computing, Fall 2016 Kesden
The Client/Server Database Environment
CHAPTER 3 Architectures for Distributed Systems
Software Architecture in Practice
COTS testing Tor Stålhane.
COTS testing Tor Stålhane.
Setac: A Phased Deterministic Testing Framework for Scala Actors
Lecture 1: Multi-tier Architecture Overview
MORE ON ARCHITECTURES The main reasons for using an architecture are maintainability and performance. We want to structure the software into reasonably.
Enterprise Java Beans.
Presentation transcript:

Title Line Subtitle Line Top of Content Box Line Top of Footer Line Left Margin LineRight Margin Line Top of Footer Line Top of Content Box Line Subtitle Line Title Line Right Margin LineLeft Margin Line. Intel Confidential Gabriel Infante-Lopez ​ Reactive In-Memory Graph-like Index ​ Noviembre – 2014

2 General Idea Programming with actors. Architecture. Patterns for Error Handling. Patterns for Fault Tolerance. Patterns for Scalability. Overview

3 Graph Representation

4 Queries using the DB index for entities: Movies: movies fulfilling a given criteria, e.g., movies with “peter” in their title. Users: users for a given criteria. Sentiment Analysis: Movies with positive sentiment. Queries using the DB index for relations: Similar movies: movies similar to a given one. Similar Users: Users similar to a given user. What can we ask?

5 What else can we ask? Movies similar to movies I liked, Movies similar to movies that my friends have seen. Movies that have receive a positive review by friends of my friends. People similar to me that is friend of a friend of mine. People that is similar to me that has written review similars to those I have written. Movies that are similar in cast and theme to movies I did like. BTW, I want the match with the best score.

6 Database persistence indexing entities. In memory graph traversing, dijkstra, mining security In Memory Index

7 1.Granular Security 2.Ephemeral Data 3.Contextual Security 4.Mining and Traversing and the same time. 5.Scalability 6.Fault Tolerance. 7.Reply as we know it. 8.Distributed Garbage Collection Main Features

Programming with Actors 8

The Actor Model Key Abstraction C vs Java: You can use memory without having to admin it. Thread vs actor: concurrency without dealing with admin of threads. Don't communicate by sharing memory; share memory by communicating.

Actor model ●Actor = states + mailbox + behaviors (msg handlers) ●From outside, can’t manipulate actors directly. ●To interact with an actor, must send msgs to it. ●Each actor has a mailbox, msgs are put to mailbox, and processed one by one. ← An actor is like a single threaded process; it doesn’t do more than one thing at a time.

Concurrency: Actor vs Thread Thread: ●Heavy weight: Can only create not too many threads; usually: 2000~5000 ●Shared state ← Source of bugs ●Passive: Have to call object.method() to make the object alive. Actor: ●Light weight: Can create millions of actors; usually: ~2.5 million actors/GB Shared nothing ●Active: Actors are alive by themselves. ← Easy to model programs that have millions of on-going things (very high level of concurrency).

Concurrency: Actor vs Thread ●Thread: n dimensions, hard to reason about. ●Actor: 1D, one thing at a time. var1 var2

●Actor is a high level logical way to think, to model programs. ●At lower level, actors run above a thread pool. Concurrency: Actor vs Thread

Programming Model

class Vertex extends Actor with Logging { var neigs = List[(ActorRef, weight)]() override def update: Receive = { case Weight(d) => if(d < min) { min = d neighs map {case (ref, weight) => ref ! Weight(min + weight) } case AddEdge(ref) => { neigs = ref::neigs }

Akka (an implementation of actor model)

In Memory Index Main Components 17

18

19 1.Communication between client and server is asynchronous. 2.Different components form an Akka cluster 1.heartbeats check for the connectivity of the cluster. 2.information is gossiped. 3.information about the load of the cluster is also gossiped (clients know the load of the system) 3.client handles errors as exceptions. 1.errors are detected in server, communicated to the client, and raised by the client. 4.client hides actor system. Main Components

In Memory Index Service 20

21

22 1.Query state is held in query handlers. 2.Query leaves depending on the load of the systems 3.Collectors reduce information from graph. Index Service

23 1.How information flows in the system. 1.who sends what, who stores what, errors as information, status as information. 2.Who knows what 1.where are the abstraction layers in our system, who needs to know, who needs to have access. Design differences and usage. 3.async and decentralized logging. 1.everything has to be async and non-blocking, including logging. 4.Decentralized garbage collector. 1.for how long the system should keep queries running, and who will remove memory 2.no centralized info handler. 5.what aspects are fixed by configuration and which are dynamic. Design Key Aspects

Intel & McAfee Confidential 24

25 Components