 the visualization team in the BlueBrain and HumanBrain project today. And the second part is more forward-looking and connects right to Thomas' talk about interactive supercomputing and what our bigger vision is and how the current work actually fits into that bigger vision. I mentioned BlueBrain and HumanBrain project, not everybody might know about it, so the BlueBrain project is a project that is funded by the Swiss government and that started in 2005. And in 2011, initially it started as a small, typical research project. And in 2011, they realized that doing this large goal of simulating the human brain needs more solid infrastructure than just one small research project and they started to hire more engineering-related people. This is also the time when I came on board and a few other people in my team. And this work then eventually led to the HumanBrain project which started in 2013, which is funded by the European Union and really runs alongside the BlueBrain project. So the two are having the same goals but different funding and complementary funding. In the visualization team, we are in total 10 people, mostly software engineering people. We also have one designer which helps us a lot with the media design for communications and things like that. And the interface internally in the project with different teams in the software engineering field as well as in the neuroscience research. And then outside, we of course have collaborations with different groups in the human brain project and other external collaborators such as KAUST or the University of Zurich. Our mission in the visualization team is really what somebody else characterized as the 3D of visualization which is debugging, dissemination and discovery. Most of the time visualization gets put into this box of dissemination, you just do pretty pictures and that sells the project. Dissemination is actually as well a scientific goal. So we do quite a bit of work to produce figures which then go into scientific publications which help to show a certain scientific background in a very clear way. But more importantly, and that rarely gets published is the debugging part. So building a brain is inherently or building an infillico brain is inherently a 3D problem and you can capture quite a lot of the algorithms you develop there and test them automatically. But at the end of the day, you still need to look at the data to see if that makes sense because we regularly have the case that people get access to a new type of visualization. They see the data for the first time and they actually realize that they have a bucket or where and then of course that never gets published because you don't publish what bugs you had along the process but it's a very important part of visualization. And the last one is discovery and that's really the hardest where we aim to give tools to researchers to find things they didn't expect in their data but that requires very mature tools and flexible tools to make that happen. Our customers are, as I already mentioned of course the neuroscientists but also the other software engineering tools who for example build the high performance computing tools to build these models and then have to make sure that they work correctly. On the tool side that's the applications I will show you a few pictures and explain what we are doing. We have software infrastructure to run on large scale type display walls and then different visualization tools for geometrical rendering, volume rendering and ray tracing. And of course, oh dear that doesn't come over on the trajectory at all. The point of that slide is really to show you why we have these high level applications. A lot of the work we do actually is to build smaller components which then we reuse in different tools and also are reused not in visualization related to it. So the green areas really circle the application areas and then the yellow ones are lower level libraries and components we maintain and develop which do things like data access, data models, just general facilities for synchronizing distributed applications and various other things. Of course, we also have some hardware. So the first one I will talk about is a high resolution type display wall which we currently drive from a single machine. The point of that is really to say this type of thing has become very affordable to previously and also relatively easy to maintain. I will show you how that looks like on the next slide and we also have a large scale stereo display which we use for various things. And all that is of course driven locally in Geneva where we have these systems installed and then our main facility is at the Swiss Supercomputing Center in Lugano which is a few hundred kilometers away and there we really have a heavy lifting analysis cluster which is tightly integrated with our supercomputer and data storage facilities. Then on display cluster which is the software which drives our tile display wall so in the upper corner you see a video running from one of the presentations we did. We really use this tile display wall as a collaborative workspace and it enables very new ways of working together with data. So for once, simply due to the size is much easier to do group work in front of it than in front of a computer. You all have been there I'm sure if you have to work on a certain problem in front of a monitor you can get two or three people and then it gets really crowded and it doesn't work anymore. In front of that wall you can really put 20, 30 people and they can all see what's going on understand what's going on and a few of them contribute concurrently to it. So you can really think of that wall as a large screen iPad type of interface that has a touch screen which has also shown very successful because it lowers the barrier to entry for people. They, everybody knows how to use these devices and it works really very similarly and people are simply not afraid to use it. And then of course it enables you to integrate all kinds of media. So just starting with higher resolution images. One great feature of that is if you load up megapixel or gigapixel image you can actually zoom in, see all the detail and while you step out you're not losing the context very rare but you really can stay in the data and have what we call focus and context so you are aware where you have been in the image you've zoomed in but you can go up close, see a certain detail without losing where that exactly is located for example in a brain region. And then we have of course more interactive integration as well there's a desktop streamer application which just allows you to stream your laptop screen into a window on that wall or and that's based on a library which everybody can use and integrate into their applications to stream them directly to the display wall and receive events back to have an interactive application running there. We are currently extending this type of infrastructure with similar sized walls in Geneva and other institutions in the human brain project have installed them as well as well as KAUST is using the same software on their existing tile display walls. And as the next step we are planning to build similar installations in the spirit that we are we want to use consumer hardware which is affordable to build hybrid systems. So really what cave two has begun that you have a system which you can use as a 2D collaborative workspace but also as a single user or a few user hybrid immersive system where you can really go in stereo and your data have that tracking and really immerse yourself in the data. Then onto the applications we have so Artineuron is our oldest and workhorse application which we use to generate a lot of the images for visualizing smaller in silico circuits. So the image you see on top is it really comes not well across on that projector but is a single neocortical circuit with simulation data. In the middle you have a video which we actually rendered out in 4K and if you display that on the 4K screen or on the display wall it really comes out beautifully of about 7,000 neurons and having a simulation running there which you can barely see on this video now. And the bottom image is for example one of these scientific illustrations where we simply take a single neuron and show all the sign ups on that neuron and how they are distributed on the morphological skeleton. The second tool is a volume rendering tool which we developed in collaboration with the University of Zurich. This uses an out of core rendering or a data storage engine which really allows us to use unlimited resolution. So for imaging data we have visualized over four terabytes of data with that engine but the really cool thing about it is we also use it to do visualization of differently structured input data. So we have one data source where we can just load measures in and then produce solid voxelization of these measures. That's the middle image here and that's really more for artistic purposes. And the bottom video which is playing there is a more interesting one that's a recent visualization we did of the 3 million neuron simulation and that just shows the spike density in a given time window of that simulation. And the new thing about that is and that really leads then to interactive supercomputing is that the volume which is rendered there is not something we pre-compute, store on disk and render it but we really take the simulation data which is just 3D events in space and then compute the volume on the fly and we compute it in such a way that for smaller circuits than that that you can do that really interactively. It's like a Google Earth of things when you're looking at the volume from the outside you just compute the low resolution and then you zoom in these filters, the drone where they will actually re-compute the volume at a higher resolution and you get all the detail you need. And then the last part where we started investigating recently is interactive ray tracing. On one hand that allows us to do physically more correct rendering. For the middle image you see there is from a publication we did recently where we did an in-silico fluorescent light-sheet microscope where we use ray tracing to reproduce images of our in-silico data to make them comparable to biological in-silico light-sheet microscopy and comparable in a way that we really do a physical validation of these images to make sure that the energy going in and out is correct, that the fluorescence spectrum is correct and all these type of things. That allows us then to, and this type of work will allow us then to do more validation of the in-silico models against biological experiments. And on the other hand, the other reason we are looking into ray tracing is not only the physically correctness but also that due to the nature of the algorithm it scales much better with large data sizes and as Thomas has said before we will have petabytes and exabytes of data to visualize. So that's why we really think this is one of the more promising visualization algorithms in the future. Now to the forward-looking things of interactive supercomputing. So it's really motivated by the limited amount of storage bandwidth and size which is really becoming more and more of a problem in interactive supercomputing. We had more floor earlier today. The thing which is really mentioned there is that more floor brings the compute power on an exponential growth curve which doubles roughly every 18 months. Nowadays it's a bit longer but still it has been 18 months for a few decades now. But the bandwidth you get to disk storage or main memory actually doubles only every 45 months and that's one of the problems by main memory is now becoming so expensive for supercomputers and it's even worse when you look at the storage systems. So a lot of the computation of the HPC machines today they actually have to very selectively decide beforehand what type of data of the simulation they want to write out of the simulation to disk for later analyzers. And that really puts computer science a little bit in versus existing paradigms is that the computation and that's a little bit of a provocative statement I'm doing here but the computation of things is going to become free. It's gonna be much cheaper just relaunching a simulation, recompute your results, then do in situ your data extraction for the concrete problem you're trying to look at and then stream out the data to a visualization node to render that instead of pre-deciding what type of data could be potentially interesting done that to disk and then do your analyzers the day later. Which brings us, which brings me to the second point why we really think that interactive supercomputing is the way to go. High performance computing is one of the last domains in computing which is still doing batch driven work for what is essentially an interactive exploration problem and when we actually managed to bring interactive supercomputing to HPC we will see a hugely improved time to solution because suddenly scientists can do their experiments and their workflows and work iterations and hours instead of days today. The big challenge of it is of course that we have a very complex system you saw Thomas talk with all the different memory integrations, accelerators, different chip architectures. So there will be very many components on a very heterogeneous environment and that has then to work in a way that it's robust. So meaning that if there is a bug in my volume rendering engine that it doesn't bring it down the simulation but that keeps running. It has to be interactive of course. So the latencies and the way you interact with the system has very different requirements from HPC software today. And one of the additional goals we have is that it also has to be usable by non computer scientist people. The good news is we have a couple of years time to attack these problems. How are we seeing to get there? So one thing which I touched already in the current talk is really we really see due to the heterogeneity of a lot of the problems we have is that we need to push this idea of competentizing or modularizing applications much further and then have to find a way of dynamically connecting all these components. So for example, you have a running simulation. I first dynamically connect some type of visualization to it which gives me an overview of what's going on in the simulation. And then I see that there's a certain problem which I want to analyze further and then I maybe want to connect a Python shell to it to run some statistical program on a certain region of that simulation. One programming model which has shown very successful in the visualization field and tools like PyroView and Visit is really this programming model of data flow programming or event driven. So all these components are just little filters which can accept certain type of input data. When we get an update, they perform your computation and they push that in a different form out for an output port to a downstream filter and then you can connect this filter to either run on the same system if you don't want to move the data or you configure it at runtime that they run on different system. For example, if you want to have the visualization closer to the user for increased interactivity. One key insight is there which is often forgotten. For us, the simulation is also just a filter. So the output of the simulation filter would be the simulation results and there can be different type of structured output data. For example, one I'm going to show next, just the spike events or voltages if you have a more detailed neuron simulation or concentrations of various things. And the inputs of that simulation would be what is classically called a steering of simulation. So in that respect, the simulation would just behave as one filter in that whole system. And I'm going to give you one example which we will show at the end of September of the HPP Summit, we are preparing that right now. And it's very hard to read again. So on the yellow box up there, you have a nest simulation which will run at not interactive rates, but fast enough that steering actually makes sense. And that nest simulation produces spikes. And to get access to that data in this dynamic and interactive fashion I mentioned earlier, we are using a library called music which is MPI based and allows to interface different simulators like Nest, Neuron, and the third one which I forgot now. But music currently uses MPI. So MPI in its nature requires you to statically configure your setup when you launch your application. And to work around that limitation from our point of view, we wrote a proxy application which interfaces with Nest through music. And then to the outside speaks a more dynamic protocol which is based on zero MQ, which is an industry standard library and some higher level extractions libraries which allow us to get that data out more easily. And then you see on the up level, the first output thing is that you stream spikes out to any number of visualization applications which we can dynamically connect to the running nest simulation at any given time. And then they can visualize it like in the volume rendering movie you saw. Then to actually control that whole, on some level we will have a specialized, very likely user interface application where you can for example, change the transfer function of this volume rendering application. Or if you also use the RT Neuron measure rendering application that will use the same transfer function as well. So you have one user interface, you change the transfer function and that changes both your measure rendering and your volume rendering. This user interface will also get input data from information visualization type of application which is called Neuroscheme, where I have a screenshot here which allows you to view the Neuron circuit in a 2D environment in a very graphical interface. So what you see here for example, is a graphical representation of the whole circuit. And you can see a pyramidal cells on the left with the little pyramid symbol, the different layers and you can just select different layers and then this selection is communicated back to the user interface. You can also on this user interface, for example, zoom in and see all the mini columns making up the in silico circuit and then just select a few mini columns and then the selection is communicated with user interface. The user interface can then query the music proxy, what type of stimulus for example, the Nest simulation can provide and then you can take that selection, the stimulus and tell Nest, now please apply that stimulus to the selection I just made in that user interface and change the simulation that way. And with that, I'm going to wrap up. I can go into way more detail on the interactive supercomputing and how all the technical components work together and how we see that going forward if you're interested. But what we're really trying to do in the BlueBrain and HumanBrain project is to create production-ready tools for non-computer scientist usage from different components. We have different rendering engines of course because we are a visualization team after all. We provide these volume rendering engines and of course other type of visualizations and 2D renderings and stuff like that through high fidelity installations which we build from commodity hardware. Since this whole problem of interactive supercomputing is not just for neuroscientists in our project, we have a very aggressive open source roadmap for the volume renderers available on GitHub. Various other components are available and other things which are not yet available, we will make available over the next month. The point of that really is to have a lightweight way of collaborating with other teams both in the neuroscience field but also outside of that field to really establish these tools as one of the ways of doing this interactive supercomputing or when it doesn't work to use other tools and then integrate them in our workflow. And we have a long-term version for interactive supercomputing which the most challenging part really is it's a disruptive change for high performance computing because it changes the way you work with a supercomputer, it changes the way you already starting, you launch jobs on an interactive supercomputer, you launch jobs on a supercomputer to be interactive and that for example has been seen in the PCP process where we are working with the industry to make these type of things possible. The interesting part is that neuroscience and to my awareness, the human brain project of one of the first project in neuroscience which tries to bring the simulation driven approach to that field, neuroscience is relatively new to HPC so we have an opportunity here to try out and establish a lot of these interactive supercomputing ideas in a new field and not in an established field like material sciences where the simulation engines are already well-established and all the workflows are well-established. And then of course we try to implement that interactive supercomputing vision through collaborations throughout the field both in neuroscience and of course in the HPC field for other domains. And with that, I conclude my talk with the GitHub URL where we have all the open source software available and my email address in case you have follow-up questions later. Okay, as we get ready for the next speaker we've probably got time for one really quick question. Hi, Stefan, here. So with the volume renderations I was just wondering if it's very consistent with data set to data set. Is it just because of the power of the simulation you're able to achieve that? Or is it because of the availability of the quality of the data that decides the volume renderations? I'm not sure if I, I try to answer a question when you tell me if I answer it correctly. So the reason we use volume rendering there is that the simulation was three million neurons and we are currently actually scaling up that by two orders of magnitude and there mesh rendering doesn't make any sense anymore because you only have two million or on a big screen 24 million pixels. So having aggregate visual representations of that from the simulation data into volume rendering makes sense for us because then we have a good way of having a scalable way of visualizing this data and it's qualitatively exactly the data being simulated. So we had their spike density so we can actually say that red means we had in the given time window in that region of space five spike events if we need to do that. Okay, thank you. Thanks again.