Agent-based Model Simulation with Twister Bingjing Zhang, Lilian Weng, B649 Term.

Slides:



Advertisements
Similar presentations
Chapter 5: Tree Constructions
Advertisements

Categories of I/O Devices
Operating System.
Efficient Collective Operations using Remote Memory Operations on VIA-Based Clusters Rinku Gupta Dell Computers Dhabaleswar Panda.
SE-292 High Performance Computing
SALSA HPC Group School of Informatics and Computing Indiana University.
AMLAPI: Active Messages over Low-level Application Programming Interface Simon Yau, Tyson Condie,
Helper Threads via Virtual Multithreading on an experimental Itanium 2 processor platform. Perry H Wang et. Al.
GridRPC Sources / Credits: IRISA/IFSIC IRISA/INRIA Thierry Priol et. al papers.
Dr. Gengbin Zheng and Ehsan Totoni Parallel Programming Laboratory University of Illinois at Urbana-Champaign April 18, 2011.
1 Complexity of Network Synchronization Raeda Naamnieh.
Concurrency CS 510: Programming Languages David Walker.
William Stallings Data and Computer Communications 7th Edition
1 Interfacing Processors and Peripherals I/O Design affected by many factors (expandability, resilience) Performance: — access latency — throughput — connection.
CSCI 4440 / 8446 Parallel Computing Three Sorting Algorithms.
Computer Science Lecture 2, page 1 CS677: Distributed OS Last Class: Introduction Distributed Systems – A collection of independent computers that appears.
Chapter 11: Distributed Processing Parallel programming Principles of parallel programming languages Concurrent execution –Programming constructs –Guarded.
Nor Asilah Wati Abdul Hamid, Paul Coddington, Francis Vaughan School of Computer Science, University of Adelaide IPDPS - PMEO April 2006 Comparison of.
Topic Overview One-to-All Broadcast and All-to-One Reduction
The hybird approach to programming clusters of multi-core architetures.
Network Topologies.
Switching Techniques Student: Blidaru Catalina Elena.
Optimizing Threaded MPI Execution on SMP Clusters Hong Tang and Tao Yang Department of Computer Science University of California, Santa Barbara.
Parallel Programming in C with MPI and OpenMP
Thinking in Parallel Adopting the TCPP Core Curriculum in Computer Systems Principles Tim Richards University of Massachusetts Amherst.
Collective Communication
Collective Communication on Architectures that Support Simultaneous Communication over Multiple Links Ernie Chan.
“The Architecture of Massively Parallel Processor CP-PACS” Taisuke Boku, Hiroshi Nakamura, et al. University of Tsukuba, Japan by Emre Tapcı.
Parallel Programming Models Jihad El-Sana These slides are based on the book: Introduction to Parallel Computing, Blaise Barney, Lawrence Livermore National.
Basic Communication Operations Based on Chapter 4 of Introduction to Parallel Computing by Ananth Grama, Anshul Gupta, George Karypis and Vipin Kumar These.
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 16 System Architecture and Design II.
Data and Computer Communications Circuit Switching and Packet Switching.
Processes and Threads Processes have two characteristics: – Resource ownership - process includes a virtual address space to hold the process image – Scheduling/execution.
Master Program (Laurea Magistrale) in Computer Science and Networking High Performance Computing Systems and Enabling Platforms Marco Vanneschi 1. Prerequisites.
Parallelization of the Classic Gram-Schmidt QR-Factorization
SALSA HPC Group School of Informatics and Computing Indiana University.
Jump to first page One-gigabit Router Oskar E. Bruening and Cemal Akcaba Advisor: Prof. Agarwal.
Computer Science and Engineering Parallel and Distributed Processing CSE 8380 February Session 11.
FREERIDE: System Support for High Performance Data Mining Ruoming Jin Leo Glimcher Xuan Zhang Ge Yang Gagan Agrawal Department of Computer and Information.
SOFTWARE DESIGN. INTRODUCTION There are 3 distinct types of activities in design 1.External design 2.Architectural design 3.Detailed design Architectural.
Latency Reduction Techniques for Remote Memory Access in ANEMONE Mark Lewandowski Department of Computer Science Florida State University.
Distributed System Services Fall 2008 Siva Josyula
A Dynamic Query-tree Energy Balancing Protocol for Sensor Networks H. Yang, F. Ye, and B. Sikdar Department of Electrical, Computer and systems Engineering.
CC-MPI: A Compiled Communication Capable MPI Prototype for Ethernet Switched Clusters Amit Karwande, Xin Yuan Department of Computer Science, Florida State.
On Optimizing Collective Communication UT/Texas Advanced Computing Center UT/Computer Science Avi Purkayastha Ernie Chan, Marcel Heinrich Robert van de.
Memcached Integration with Twister Saliya Ekanayake - Jerome Mitchell - Yiming Sun -
HYPERCUBE ALGORITHMS-1
Exploring Parallelism with Joseph Pantoga Jon Simington.
Parallelizing Functional Tests for Computer Systems Using Distributed Graph Exploration Alexey Demakov, Alexander Kamkin, and Alexander Sortov
Major OS Components CS 416: Operating Systems Design, Spring 2001 Department of Computer Science Rutgers University
Unpredictable Software-based Attestation Solution for Node Compromise Detection in Mobile WSN Xinyu Jin 1 Pasd Putthapipat 1 Deng Pan 1 Niki Pissinou 1.
Data Communication Networks Lec 13 and 14. Network Core- Packet Switching.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Computer Science 320 Introduction to Cluster Computing.
Hongbin Li 11/13/2014 A Debugger of Parallel Mutli- Agent Spatial Simulation.
EpiC: an Extensible and Scalable System for Processing Big Data Dawei Jiang, Gang Chen, Beng Chin Ooi, Kian Lee Tan, Sai Wu School of Computing, National.
Computer Science and Engineering Parallelizing Feature Mining Using FREERIDE Leonid Glimcher P. 1 ipdps’04 Scaling and Parallelizing a Scientific Feature.
Domain Name System: DNS To identify an entity, TCP/IP protocols use the IP address, which uniquely identifies the Connection of a host to the Internet.
Last Class: Introduction
Parallel Density-based Hybrid Clustering
Switching Techniques In large networks there might be multiple paths linking sender and receiver. Information may be switched as it travels through various.
Lecture 14 Virtual Memory and the Alpha Memory Hierarchy
Agent-based Model Simulation with Twister
Scalable Parallel Interoperable Data Analytics Library
Data Communication Networks
CS 501: Software Engineering Fall 1999
Virtual Memory Hardware
Distributed Dynamic Channel Allocation in Wireless Network
Optimizing MPI collectives for SMP clusters
Emulating Massively Parallel (PetaFLOPS) Machines
Presentation transcript:

Agent-based Model Simulation with Twister Bingjing Zhang, Lilian Weng, B649 Term Project Presentation

Problem Statement Run the agent-based modeling (ABM) [1] simulation in parallel. Reason: Sequential iterations on a single machine are too slow [1] E. Bonabeau. Agent-based modeling: Methods and techniques for simulating human systems. Proceedings of the National Academy of Sciences, 99:7280–7287, 2002.

Experiment A model simulating Twitter mechanism: – Users are connected through the social network – Each user has a screen of messages from neighbors, and a memory of topics he is interested in. – Users send messages chosen from screen or memory C - capacity of the screen and memory. Pn - probability to introduce a new topic. Pr - probability to re-post a message from the screen. α - the priority of topics in the memory compared to the screen messages, and therefore the probability of posting about the memory topics is αPr.

Architecture Design of the Application

Broadcasting on Twister Broadcasting – Chain Broadcasting – All-to-all Minimum-spanning Tree

Chain Broadcasting Protocol send get ack send Driver Daemon 0 receive handle data send Daemon 1 ack receive handle data send ack receive handle data get ack ack receive handle data get ack send get ack Daemon 2 receive handle data ack receive handle data ack get ack “Handle data” is done by spawning another thread “Send” and “Receive” are done in a manner of “buffer by buffer”

MST broadcasting Driver sends data portions to different nodes MST Leaf Node MST Root Node Twister Driver All-to-all-MST Broadcasting Protocal

MST Broadcasting Protocol [3] Ernie Chan et, al. Collective Communication: Theory, Practice, and Experience. Concurrency and Computation: Practice and Experience. 2007

Implementation: Model Classes

Implementation: TwisterMessage public void fromTwisterMessage(TwisterMessage message) throws SerializationException { message.writeInt(a); … } public void toTwisterMessage(TwisterMessage message) throws SerializationException { this.a = message.readInt(); … }

Results: Broadcasting Efficiency 80 PG nodes, 2 switches, 50 Iterations, Data Size(Each Iteration) 200KB ~ 200MB, Data Size(Total) 1GB ~ 5GB

Results: Simulation Result Validation Memory Length – number of topics in memory Topic Popularity – number of distinct user who have used a certain topic Topic Prevalence – number of posts containing a certain topic

Thank you! Question?