The coolest place on earth 2012 Felix Ehm... · Usage Case 1 •Payload 2MByte •1 msg/sec •1...

35
www.cern.ch The coolest place on earth

Transcript of The coolest place on earth 2012 Felix Ehm... · Usage Case 1 •Payload 2MByte •1 msg/sec •1...

Page 1: The coolest place on earth 2012 Felix Ehm... · Usage Case 1 •Payload 2MByte •1 msg/sec •1 Topic •20-30 Java Clients Usage Case 2 •Payload 500Bytes-1KBytes •30-200 msg/sec

www.cern.ch

The coolest place on earth

Page 2: The coolest place on earth 2012 Felix Ehm... · Usage Case 1 •Payload 2MByte •1 msg/sec •1 Topic •20-30 Java Clients Usage Case 2 •Payload 500Bytes-1KBytes •30-200 msg/sec

www.cern.ch

Large Scale Messaging with ActiveMQ for Particle Accelerators

at CERN

2

Page 3: The coolest place on earth 2012 Felix Ehm... · Usage Case 1 •Payload 2MByte •1 msg/sec •1 Topic •20-30 Java Clients Usage Case 2 •Payload 500Bytes-1KBytes •30-200 msg/sec

www.cern.ch

Overview

Introduction to CERN

Usage of ActiveMQ

Examples30min

Operation

3

Page 4: The coolest place on earth 2012 Felix Ehm... · Usage Case 1 •Payload 2MByte •1 msg/sec •1 Topic •20-30 Java Clients Usage Case 2 •Payload 500Bytes-1KBytes •30-200 msg/sec

www.cern.ch

About the Speaker

[email protected]

Member of CERN Beams Controls Group:Responsible for JMS Service MiddlewareDeveloper for Alarm and Monitoring System

Previous Activities:Large Storage SystemsGrid Environment

4

Page 5: The coolest place on earth 2012 Felix Ehm... · Usage Case 1 •Payload 2MByte •1 msg/sec •1 Topic •20-30 Java Clients Usage Case 2 •Payload 500Bytes-1KBytes •30-200 msg/sec

www.cern.ch

A European Organization for Nuclear Research

• Founded in 1954

• Based in Geneva, Switzerland

• 3’000 staff members

• 8’000 visiting scientists

• Financed by its member states

What is CERN ?

originally : Conseil Européen pour la Recherche Nucléaire

Twenty Member States

5

Page 6: The coolest place on earth 2012 Felix Ehm... · Usage Case 1 •Payload 2MByte •1 msg/sec •1 Topic •20-30 Java Clients Usage Case 2 •Payload 500Bytes-1KBytes •30-200 msg/sec

www.cern.ch

Particle colliders fortracing “fragments”

Large Machines for High Energy Physics

6

Page 7: The coolest place on earth 2012 Felix Ehm... · Usage Case 1 •Payload 2MByte •1 msg/sec •1 Topic •20-30 Java Clients Usage Case 2 •Payload 500Bytes-1KBytes •30-200 msg/sec

www.cern.ch

The CERN Campus

7

Page 8: The coolest place on earth 2012 Felix Ehm... · Usage Case 1 •Payload 2MByte •1 msg/sec •1 Topic •20-30 Java Clients Usage Case 2 •Payload 500Bytes-1KBytes •30-200 msg/sec

www.cern.ch

The Large Hadron Collider

8

Page 9: The coolest place on earth 2012 Felix Ehm... · Usage Case 1 •Payload 2MByte •1 msg/sec •1 Topic •20-30 Java Clients Usage Case 2 •Payload 500Bytes-1KBytes •30-200 msg/sec

www.cern.ch

But the LHC is not the only accelerator

9

Page 10: The coolest place on earth 2012 Felix Ehm... · Usage Case 1 •Payload 2MByte •1 msg/sec •1 Topic •20-30 Java Clients Usage Case 2 •Payload 500Bytes-1KBytes •30-200 msg/sec

www.cern.ch

A lot of systems to control

85’000 Devices> 2 Million I/O Endpoints

Much more when including subsystems!

Electricity

Magnets

Cryogenics

Controls Computers

Vacuum

Ventilation

Cooling

Safety

10

Page 11: The coolest place on earth 2012 Felix Ehm... · Usage Case 1 •Payload 2MByte •1 msg/sec •1 Topic •20-30 Java Clients Usage Case 2 •Payload 500Bytes-1KBytes •30-200 msg/sec

www.cern.ch

Everything from one central point: The CERN Control Centre

11

Page 12: The coolest place on earth 2012 Felix Ehm... · Usage Case 1 •Payload 2MByte •1 msg/sec •1 Topic •20-30 Java Clients Usage Case 2 •Payload 500Bytes-1KBytes •30-200 msg/sec

www.cern.ch

USING ACTIVEMQ FOR ACCELERATOR CONTROLS

12

Page 13: The coolest place on earth 2012 Felix Ehm... · Usage Case 1 •Payload 2MByte •1 msg/sec •1 Topic •20-30 Java Clients Usage Case 2 •Payload 500Bytes-1KBytes •30-200 msg/sec

www.cern.ch

Controls Architecture

T

T

T

T

T

OPERATORCONSOLES

OPERATORCONSOLES

FIXEDDISPLAYS

FILE SERVERS

APPLICATION SERVERS

SCADA SERVERS

RT Lynx/OSVME Front Ends

WORLDFIPFront Ends PLC

LHC MACHINE

Wo

rld

FIP

SEG

MEN

T(1

, 2.5

MB

its/

sec)

PR

OFI

BU

S

FIP

/IO

OP

TIC

AL

FIB

ERS

Co

mm

un

ication

JavaCC++

JavaC++

13

JMS Purpose: Reliable and scalable transport of data between Java processes

Page 14: The coolest place on earth 2012 Felix Ehm... · Usage Case 1 •Payload 2MByte •1 msg/sec •1 Topic •20-30 Java Clients Usage Case 2 •Payload 500Bytes-1KBytes •30-200 msg/sec

www.cern.ch

• Early use of ActiveMQ already in 2005

– We were looking for a free JMS solution

– Apache? Can’t be bad!

• Why OpenSource ?

– Low Costs

– We can read and check the code

– We can add / fix code

History

14

Page 15: The coolest place on earth 2012 Felix Ehm... · Usage Case 1 •Payload 2MByte •1 msg/sec •1 Topic •20-30 Java Clients Usage Case 2 •Payload 500Bytes-1KBytes •30-200 msg/sec

www.cern.ch

• Clients– Java middle-tier servers and GUIs

• Data access for Clients via Middleware API

• Two interconnected Brokers

History – First Setup

15

Middle-tierServers

Graphical UserInterfaces

Middleware API

Simple Setup, few projects, little data, easy to use. Did the job!

Page 16: The coolest place on earth 2012 Felix Ehm... · Usage Case 1 •Payload 2MByte •1 msg/sec •1 Topic •20-30 Java Clients Usage Case 2 •Payload 500Bytes-1KBytes •30-200 msg/sec

www.cern.ch

• But: Service suffered by its own success

– More users and more data was sent around

– Higher QoS was requested• Redundancy

• Queues, persistent messaging and global transactions (XA)

– Support for non Java clients

• We needed to adapt the infrastructure

and needed to SCALE

History - EvolutionP

rod

uctio

n B

roke

rs

16

Page 17: The coolest place on earth 2012 Felix Ehm... · Usage Case 1 •Payload 2MByte •1 msg/sec •1 Topic •20-30 Java Clients Usage Case 2 •Payload 500Bytes-1KBytes •30-200 msg/sec

www.cern.ch

• 20 Production Brokers

– 10 single Brokers

– 5 HA Clusters

• No one large cluster but manageable entities

• Vital part of beam instrumentation and operation

Deployment Today

Dedicated single Brokers for selected

applications

4 Dedicated HA Clusters for selected

applications

1 HA Cluster for general usage

17

No JMS –No Particle Physics !

Page 18: The coolest place on earth 2012 Felix Ehm... · Usage Case 1 •Payload 2MByte •1 msg/sec •1 Topic •20-30 Java Clients Usage Case 2 •Payload 500Bytes-1KBytes •30-200 msg/sec

www.cern.ch

• HA Clusters– 2 equivalent broker members, no master-slave– Two (real) machines with separate network links

• Single Broker– For projects which do not require HA– Deployed on same (real) machine as middle-tier server

• Local secured network together with Producers and Consumers

• Fuse ActiveMQ Distribution since 2010– Issues solved faster in service packs

Deployment Today - Setup

18

Page 19: The coolest place on earth 2012 Felix Ehm... · Usage Case 1 •Payload 2MByte •1 msg/sec •1 Topic •20-30 Java Clients Usage Case 2 •Payload 500Bytes-1KBytes •30-200 msg/sec

www.cern.ch

Deployment Today

Some numbers :

• 300 Applications

• 4’400 Connections

• 40’000 Subscriptions

• 85’000 Topics

• 68’000 Consumers

• 8 Million msg/h IN, 3.5M msg/h OUT

Archived Uptime in 2011: 99.98%

19

Not all data which is produced is

consumed

Page 20: The coolest place on earth 2012 Felix Ehm... · Usage Case 1 •Payload 2MByte •1 msg/sec •1 Topic •20-30 Java Clients Usage Case 2 •Payload 500Bytes-1KBytes •30-200 msg/sec

www.cern.ch

Example of Data Handling during LHC Startup 2010

2.5TB/day

1TB/day

150% unpredicted increase in data demand

LHC Startup March 2010

Output Data Handling for 1 Broker of the General Broker Cluster

20

Page 21: The coolest place on earth 2012 Felix Ehm... · Usage Case 1 •Payload 2MByte •1 msg/sec •1 Topic •20-30 Java Clients Usage Case 2 •Payload 500Bytes-1KBytes •30-200 msg/sec

www.cern.ch

Usage Case 1

• Payload 2MByte

• 1 msg/sec

• 1 Topic

• 20-30 Java Clients

Usage Case 2

• Payload 500Bytes-1KBytes

• 30-200 msg/sec

• 120 Queues

• 4 Million XAS/day

• 2 Clients

Usage Case 3

• Payload 200Byte -10KByte

• 50-4500 msg/sec

• 10’000 Topics

• 2-5 Clients

Usage Case 4

• Payload<200 Bytes

• <10 msg/hour

• 1 Queue

• < 10 STOMP Clients

Usage Cases

21

Scalability Reliability Versatility Flexibility

Page 22: The coolest place on earth 2012 Felix Ehm... · Usage Case 1 •Payload 2MByte •1 msg/sec •1 Topic •20-30 Java Clients Usage Case 2 •Payload 500Bytes-1KBytes •30-200 msg/sec

www.cern.ch

OPERATION

22

Page 23: The coolest place on earth 2012 Felix Ehm... · Usage Case 1 •Payload 2MByte •1 msg/sec •1 Topic •20-30 Java Clients Usage Case 2 •Payload 500Bytes-1KBytes •30-200 msg/sec

www.cern.ch

• Monitoring

– via JMX

– Submission of test message

– Host machine monitoring

• Deployment

– Rollout scripts for deploying/rollback

– Configuration changes tracked in SVN

Management of Brokers

23

Page 24: The coolest place on earth 2012 Felix Ehm... · Usage Case 1 •Payload 2MByte •1 msg/sec •1 Topic •20-30 Java Clients Usage Case 2 •Payload 500Bytes-1KBytes •30-200 msg/sec

www.cern.ch

Diagnostic Tools

JmxDumpertim.P_COOLSTPSH5 | 120 | C2MON-SERVER-DAQ-IN-3_55

tim.P_COOLMNOUI5 | 80 | C2MON-SERVER-DAQ-IN-3_145

...

Dump JMX information into SQLite database for fast, easy and intuitive access.

select name, awaitack, clientid

from subscriptions

where awaitack > 0;

24

Page 25: The coolest place on earth 2012 Felix Ehm... · Usage Case 1 •Payload 2MByte •1 msg/sec •1 Topic •20-30 Java Clients Usage Case 2 •Payload 500Bytes-1KBytes •30-200 msg/sec

www.cern.ch

Traffic Monitoring Tool

• Collecting information by listening on Topic–Message size & speed

• Allows history view on – Average Message throughput

– Average Message size

Diagnostic Tools

Fixed

CrazyProducer

25

Page 26: The coolest place on earth 2012 Felix Ehm... · Usage Case 1 •Payload 2MByte •1 msg/sec •1 Topic •20-30 Java Clients Usage Case 2 •Payload 500Bytes-1KBytes •30-200 msg/sec

www.cern.ch

• Separate usage cases from each other– Easier than implementing per destination policies

– Broker restart does not affect others

• More clients, more memory

• Broker does not die when hitting memory limits

• Check if you need all features– Maintenance overhead vs. failure probability & effect

Lessons learnt - Operation

26

Page 27: The coolest place on earth 2012 Felix Ehm... · Usage Case 1 •Payload 2MByte •1 msg/sec •1 Topic •20-30 Java Clients Usage Case 2 •Payload 500Bytes-1KBytes •30-200 msg/sec

www.cern.ch

• Disable DedicatedTaskRunner: takes many threads

• Reduce the PrefetchLimit on clients side

• Couldn’t get Broker discarding messages

– ConstantPrefetchLimit unset + brain-dead client = Out of Memory

• Memory is important

– But GC takes longer

– New Java GC options help

Lessons learnt - Configuration

27

-XX:+UseConcMarkSweepGC-XX:+CMSIncrementalMode-XX:+CMSIncrementalPacing-XX:CMSIncrementalDutyCycleMin=0 -XX:CMSIncrementalDutyCycle=10-XX:+HeapDumpOnOutOfMemoryError

Page 28: The coolest place on earth 2012 Felix Ehm... · Usage Case 1 •Payload 2MByte •1 msg/sec •1 Topic •20-30 Java Clients Usage Case 2 •Payload 500Bytes-1KBytes •30-200 msg/sec

www.cern.ch

EXAMPLES

28

Page 29: The coolest place on earth 2012 Felix Ehm... · Usage Case 1 •Payload 2MByte •1 msg/sec •1 Topic •20-30 Java Clients Usage Case 2 •Payload 500Bytes-1KBytes •30-200 msg/sec

www.cern.ch

LHC Status Displays

http://lmgtfy.com/?q=cern+vistars

29

Page 30: The coolest place on earth 2012 Felix Ehm... · Usage Case 1 •Payload 2MByte •1 msg/sec •1 Topic •20-30 Java Clients Usage Case 2 •Payload 500Bytes-1KBytes •30-200 msg/sec

www.cern.ch

Remote Control for Video Viewer

Bu

tton

Pane

l

“Show Cam 1”

Access Request

Video Viewer

“Show Cam 1”

30

Business Logic

Powered by VLC

Page 31: The coolest place on earth 2012 Felix Ehm... · Usage Case 1 •Payload 2MByte •1 msg/sec •1 Topic •20-30 Java Clients Usage Case 2 •Payload 500Bytes-1KBytes •30-200 msg/sec

www.cern.ch

“Bamboo” for Accelerators

Run Tests for Hardware Commissioning

31

Page 32: The coolest place on earth 2012 Felix Ehm... · Usage Case 1 •Payload 2MByte •1 msg/sec •1 Topic •20-30 Java Clients Usage Case 2 •Payload 500Bytes-1KBytes •30-200 msg/sec

www.cern.ch

Animate Synoptic Displays

Technical Infrastructure(Power, Cooling, Water, Doors,…

32

Page 33: The coolest place on earth 2012 Felix Ehm... · Usage Case 1 •Payload 2MByte •1 msg/sec •1 Topic •20-30 Java Clients Usage Case 2 •Payload 500Bytes-1KBytes •30-200 msg/sec

www.cern.ch

?

Camel for Unifying Log Events

DB

Log Server

Finding/Debugging a problem becomes cumbersome!

Collecting and unifying log messages in one central place

Easy correlation of events among manyservices

33

Page 34: The coolest place on earth 2012 Felix Ehm... · Usage Case 1 •Payload 2MByte •1 msg/sec •1 Topic •20-30 Java Clients Usage Case 2 •Payload 500Bytes-1KBytes •30-200 msg/sec

www.cern.ch

A great thanks to all developers !

Finally

34

Page 35: The coolest place on earth 2012 Felix Ehm... · Usage Case 1 •Payload 2MByte •1 msg/sec •1 Topic •20-30 Java Clients Usage Case 2 •Payload 500Bytes-1KBytes •30-200 msg/sec

www.cern.ch