The following is a (somewhat up to date and complete) list of publications I have been involved with:

Talks and Presentations (not including talks assoiciated with other publications)

  1. Bhatia, R.P.. and Glick B. H. "Poembot: Behind the Scenes." Student Led Workshop hosted by Lewis & Clark College ACM Student Chapter
  2. Glick, B.H. "Applications of Machine Learning to High Performance Computing (Intro to Deep Learning)." At Lewis & Clark College Festival of Scholars and Artists, 2019 (Apr. 2019)
  3. Glick, B.H. "Everyone's Feeding Text. We feed Code (Machine Learning for Static Code Analysis)" (Lightning Talk). At ML4ALL 2019 (Apr. 2019)
  4. Glick, B.H. "Applications of Machine Learning to High Performance Job Scheduling". In Program of the Festival of Scholars and Artists, 2019 (Apr. 2019).
  5. Somers, J. and Glick B. H. "Intro to Biocomputing." Student Led Workshop hosted by Lewis & Clark College ACM Student Chapter
  6. Glick, B.H."SC Student Lightning Talk: Accessible High Performace Computing" At SC 2018. (November 2018).
  7. McWilliams, J. A., Glick, B.H., Abbaspour, P. "High Performance Computing at L&C." In Program of Faculty Technology Institute, 2018 (May 2018).
  8. Glick, B.H. "A Gentle Introduction to High Performance Computing." In Program of the Festival of Scholars and Artists, 2018 (Apr. 2018). DOI: 10.13140/RG.2.2.35801.01125
  9. Glick, B.H. and Mache, J. "Building an Accessible Web-Based Frontend for High-Performance Clusters." In Proceedings of the Oregon Academy of Science. (Mar. 2018). DOI: 10.13140/RG.2.2.24328.11528
Other Publications
  1. Glick, B.H. and Mache, J. "Peachy Parallel Assignments" In Proceedings of 32nd IEEE International Parallel & Distributed Processing Symposium Workshops (May 2019). (Forthcoming)
  2. Glick, B.H. and Mache, J. "Finding the Electric Potential of a Square Wire" (Peachy Parallel Assignment). In Proceedings of The 9th NSF/TCPP Workshop on Parallel and Distributed Computing Education (EduPar-19) (May 2019) (Forthcoming)
  3. Glick, B. H. and Mache, J. "Using Machine Learning to Enable Job-Aware Scheduling". In Proceedings of the Oregon Academy of Sciences (Feb. 2019)
  4. Glick, B. H. and Mache, J. 2018. "Jupyter Notebooks and User-Friendly HPC Access" In Workshop on High Performance Computing and Education, 2018 (EduHPC ’18), at the International Conference for High Performance Computing, Networking, Storage and Analysis (SC ’18) (Nov. 2018). DOI 10.1109/EduHPC.2018.00005.
  5. Glick, B.H. and Mache, J. "An Accessible HPC Ecosystem Powered by Jupyter Notebooks" Student Poster at Conference of the Consortium of the Computing Sciences in Colleges (Oct. 2018) (Won Best Poster)
  6. Glick, B. H. and Mache, J. 2018. "Using jupyter notebooks to learn high-performance computing". J. Comput. Sci. Coll. 34, 1 (October 2018), 180-188. (Oct. 2018)
  7. Glick, B.H. and Mache, J. "USING JUPYTER NOTEBOOKS TO LEARN HIGH-PERFORMANCE COMPUTING". In Proceedings of the Conference of the Northwest Regional Consortium of Computing Sciences in Colleges. (Oct. 2018)
  8. Glick, B.H. and Mache, J. "An Extensible Ecosystem of Tools Providing User Friendly HPC Access and Supporting Jupyter Notebooks." In Proceedings of The International Conference on Parallel Processing. (Aug. 2018). http://oaciss.uoregon.edu/icpp18/views/includes/files/pos107s1-file1.pdf
  9. Glick, B.H. and Mache, J. "Building an Accessible Web-Based Frontend for High-Performance Clusters." In Proceedings of the Oregon Academy of Science. (Mar. 2018). DOI: 10.13140/RG.2.2.24328.11528
  10. Glick, B.H., Babuji, Y.N., and Chard, K. 2017. "Scalable Parallel Scripting in the Cloud". In Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis (SC ’17). (Nov. 2017). 2 Pages. DOI: 10.13140/RG.2.2.20048.81922
  11. Article about LC HPC initiative featuring me, but not by me available here
Organization and Hosting
  1. LC ACM Student Chapter Board Chair
  2. 2019 LC ACM Student Chapter Spring Student-Led Workshop Series
  3. 2019 Spring Lewis & Clark College Computer Science/Data Science Colloquium Series
  4. 2019 Spring Lewis & Clark College ACM Student Chapter Journal of Student Research Committee Chair and Editor in Chief

Research Statement

Much of my research has to do with making high performance and parallel and distributed computing techniques more accessible to people who need to use such techniques but don’t have the necessary skills. Many of these skills involve learning how to perform relatively mundane tasks, like writing task submission scripts for various different high performance scheduler systems and resource managers. Tasks like these are not very interesting or constructive to learn, especially when they are not at all related to the actual research which is being carried out. My research has to do with presenting alternative solutions to problems involving these kinds of tasks. Through this research, the goal is to help make researchers in domains involving high performance computing less dependent upon people who have these skills. My view is that no research should be left unfinished because a researcher didn’t know how to submit a job to a scheduling system.

I have attacked these problems through contributing to a few separate projects. In chronological order, the first project I worked on which was related to these goals was when I was in high school. Over a summer, I designed a prototype of a data search, transfer, and sharing system, which used Globus as an underlying base for file transfer management. This system is a web app which allows scientists and other researchers to log in, view what files they have in public Globus endpoints, transfer them to any other public Globus endpoints they have access to, and open temporary workspaces including any subset of those files. Those workspaces consist of temporary Jupyter notebook servers which allow for users to run simple computation on those data files which live in Globus. After that, users had the option to publish the newly created data files over Globus to any other public endpoint. This project served as a prototype for one aspect of a Globus project called Wholetale, which is aimed as a new method of producing reproducible computational research. The wholesale app presents users with a dashboard allowing them to import registered data, compute on it, and produce clean results.

Another project I work on is called Parsl. Parsl, which is short for the PARallel Scripting Library, is an open-source, python-based workflow management system. It is a Python library for programming and executing data-oriented workflows (dataflows) in parallel. Parsl scripts allow selected Python functions and external applications (called apps) to be connected by shared input/output data objects into flexible parallel workflows. Rather than explicitly defining a dependency graph and/or modifying data structures, instead developers simply annotate Python functions and Parsl constructs a dynamic, parallel execution graph derived from the implicit linkage between apps based on shared input/output data objects. I have worked with the Parsl team on various pieces of Parsl, including designing and building support for execution on clouds, including Google cloud, Amazon EC2, and Microsoft Azure. Due to that work, researchers can automatically perform computational tasks transparently across many different execution platforms, including personal computers, commercial and scientific clouds, grids, clusters, and supercomputers.

At Lewis & Clark, we recently acquired our first high-performance computing system. We have a small cluster computer which is partly dedicated to computational research on campus, but is also dedicated to providing students with access to HPC resources in an educational setting. We decided to use this as an opportunity to make HPC accessible to all on campus, regardless of their experience with parallel computing, or computing in general. I have applied some of the techniques and skills I learned from working with the Parsl team and created a usability framework including a number of computational tools, such as Jupyter notebooks and the R studio server. This ecosystem is able to take code from any of these tools and transparently and efficiently execute it on the worker nodes of our system, thereby allowing cluster users to concentrate on the work they are interested in, while allowing the computer cluster and our ecosystem to perform the computational heavy lifting and optimization which allows their results to be computed efficiently and easily.

My Erdös Number is 4.

Paul Erdös (0) ->
         [Sarvadaman Chowla (1), Frank Harary (1)]
             -> Marilynn L. Livingston (2)
                 -> Jens Mache (3)
                     -> Ben Glick (4)

For a description of Erdös Numbers, click here.