The Audacity of Chapel: Scalable Parallel Programming Done Right
Programming language designers have to date largely failed the large-scale parallel computing community, and arguably even parallel programmers targeting desktops or modest-scale clusters. Parallel features are typically an afterthought in language design, tacked on as pragmas, libraries, or extensions. Even when languages are designed to support parallelism, they generally fail to consider distributed-memory computing. Other approaches tend to be domain-specific and not suited for more general parallel programming. Meanwhile, though the High Performance Computing (HPC) community has pursued many novel parallel languages, none have succeeded in getting over the tipping point of broad adoption.
Chapel is my team’s effort to reverse these trends. It’s a general-purpose language in which scalable parallel programming has been a motivating theme from day one. It’s designed with productivity in mind in order to make parallel programming less arcane and more modern in style. It’s portable and open-source in order to support a broad community and reduce barriers to adoption. And yet, like any new language design being undertaken by a modest-sized team, it’s not without its challenges – both technical and social.
In this talk, I’ll provide an introduction to Chapel’s motivating themes and features to give you a sense of what we are doing and why. I’ll also provide a glimpse into some of the challenges we wrestle with and how we are dealing with them. Whether you leave the talk a convert to Chapel or simply intrigued, I hope to challenge you to think about scalable parallelism as the first-class language feature that it deserves to be.
Brad Chamberlain is a Principal Engineer at Cray Inc. where he works on parallel programming models. He serves as the technical lead for the Chapel project which is developing a portable, open-source language for parallel programming on large-scale systems. In this role, Brad focuses primarily on leading the design and implementation of the Chapel language with his team at Cray and members of the open-source development community. Brad received his Ph.D. in Computer Science & Engineering from the University of Washington in 2001 working on the ZPL parallel array language. In the past, he has also worked on languages for embedded reconfigurable processors and on algorithms for accelerating the rendering of complex 3D scenes.
AI: Actual Intelligence
It has been said, to err is human, to really foul things up requires a computer . Given the long tradition of AI, which sometimes attempts to make a sentient being from hardware, or body parts (think Frankenstein’s monster), are humans unique, or is this dream possible? Or desirable?
Intelligence is also used to mean information the state or businesses gather on you; this is increasingly done by machine. We frequently have to prove who we are by stating Mother’s maiden names, passwords, even swiping fingerprints. Much of this is processed by machine, powered by algorithms. What if they don’t believe we are who we say we are?
There is more to intelligence than an algorithm. Your thoughts have a context; belief systems, experience, insight, thinking, learning. SciFi offers Asimov’s law of robots. Clearly first order logic isn’t enough. Obviously brute force isn’t intelligence. So what is? Do we need it to run on hardware? Conversely, could we exist in cyberspace without a body? Where will it end?
Frances Buontempo is currently editor of the ACCU’s Overload magazine and is a researcher at City, University of London, working on a project to provide diversity enhancements to SIEMS (Security Information and Event Management) http://disiem-project.eu/.
After graduating from Leeds University with a B.A. in Mathematics and Philosophy, she worked as a mathematics and IT secondary school teacher, eventually ending up as a programmer. During this time she obtained an M.Sc. in Pure Mathematics with the Open University, and then returned to Leeds University, to study for a PhD in data mining to predict how toxic organic chemicals might be. Between then and now, she has worked in various companies in London with a finance focus.
She has talked and written about various ways to program your way out of a paper bag, providing a gentle introduction to some machine learning approaches, while trying to keep up to date with new techniques.
Something(s) New in C++
By the time the ACCU 2017 conference begins, C++17 is expected to be technically complete and in its final approval ballot. What comes next? Will C++ continue growing forever? Can C++ code be simplified? This is a brand-new talk of material I’ve never given before, in which I’ll present one (or more) of three proposals I’m personally working on to further improve C++ post-C++17. All follow a common theme – adding a strategic language and/or library feature to C++ that leads to significant, and sometimes dramatic, simplification of real-world C++ code. I’ll pick which one (or more) of those topics to present sometime in March – watch for this title and abstract to be replaced with more specific information at least one month before the ACCU 2017 conference begins.
Herb Sutter is the chair of the ISO C++ committee and a native languages architect at Microsoft. Organizationally, he has overseen the development of all ISO C++-related specifications except for the original C++98 standard. Technically, he has been the lead- or co-designer of many standard C++ features, including lambda functions, forwarding constructors, enum class, nullptr, override/final, parallel algorithms, structured bindings, and other features. He is currently working on finding ways to further evolve C++ so that using C++ can be more consistent and simpler, even as the language continues to gain even greater expressive power and efficiency.
To hell and back: One guitarist’s journey through modern software development
Microservices are hell, quite literally. As architectural styles go, rarely has a style asked so much from the developers who are tasked with building systems.
In this talk Russ Miles will be joined by his colleagues, Gibson and the Bot, to talk about the nature of this hell and how they’re working to overcome it using new tools, approaches and, yes, languages."
Lead Engineer @Atomist; Founder @Russ Miles & Associates
Russ’ experience covers almost every facet of software delivery having worked across many different domains including Financial Services, Publishing, Defence, Insurance and Search. Russ helps to change all facets of the software delivery process in order to remove unnecessary and costly complexity in everything from developer skills and practices, through applying the right processes for the job at hand, to ensuring that the right change is delivered, be it through software or otherwise.
Russ Miles is an international speaker on techniques for achieving the delivery of valuable software as well as a published author, most recently of Head First Software Development from O’Reilly Media. Also author of Antifragile Software, which is available on LeanPub.com.