Borja Sotomayor
University of Chicago
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Borja Sotomayor.
First International Workshop on Virtualization Technology in Distributed Computing (VTDC 2006) | 2006
Borja Sotomayor; Kate Keahey; Ian T. Foster
Virtual machines provide a promising vehicle for controlled sharing of physical resources, allowing us to instantiate a precisely defined virtual resource, configured with desired software configuration and hardware properties, on a set of physical resources. We describe a model of virtual machine provisioning in a Grid environment that allows us to define such virtual resources and efficiently instantiate them on a physical Grid infrastructure. We argue that to properly account for, and manage, the overhead resulting from instantiating and managing virtual resources, overhead must be scheduled at the same level as virtual resources, instead of being deducted from a users resource allocation. We present preliminary results that demonstrate the benefits of such an approach.
Journal of Biomedical Informatics | 2014
Bo Liu; Ravi K. Madduri; Borja Sotomayor; Kyle Chard; Lukasz Lacinski; Utpal J. Dave; Jianqiang Li; Chunchen Liu; Ian T. Foster
Due to the upcoming data deluge of genome data, the need for storing and processing large-scale genome data, easy access to biomedical analyses tools, efficient data sharing and retrieval has presented significant challenges. The variability in data volume results in variable computing and storage requirements, therefore biomedical researchers are pursuing more reliable, dynamic and convenient methods for conducting sequencing analyses. This paper proposes a Cloud-based bioinformatics workflow platform for large-scale next-generation sequencing analyses, which enables reliable and highly scalable execution of sequencing analyses workflows in a fully automated manner. Our platform extends the existing Galaxy workflow system by adding data management capabilities for transferring large quantities of data efficiently and reliably (via Globus Transfer), domain-specific analyses tools preconfigured for immediate use by researchers (via user-specific tools integration), automatic deployment on Cloud for on-demand resource allocation and pay-as-you-go pricing (via Globus Provision), a Cloud provisioning tool for auto-scaling (via HTCondor scheduler), and the support for validating the correctness of workflows (via semantic verification tools). Two bioinformatics workflow use cases as well as performance evaluation are presented to validate the feasibility of the proposed approach.
ieee international conference on high performance computing data and analytics | 2012
Bo Liu; Borja Sotomayor; Ravi K. Madduri; Kyle Chard; Ian T. Foster
Cloud computing is attracting increasing attention as a means of providing users with fast provisioning of computational and storage resources, elastic scaling, and payas-you-go pricing. The integration of scientific workflows and Cloud computing has the potential to significantly improve resource utilization, processing speed, and user experience. This paper proposes a novel approach for deploying bioinformatics workflows in Cloud environments using Galaxy, a platform for scientific workflows, and Globus Provision, a tool for deploying distributed computing clusters on Amazon EC2. Collectively this combination of tools provides an easy to use, high performance and scalable workflow environment that addresses the needs of data-intensive applications through dynamic cluster configuration, automatic user-defined node provisioning, high speed data transfer, and automated deployment and configuration of domain-specific software. To demonstrate how this approach can be used in practice we present a domain-specific workflow use case and performance evaluation.
Globus® Toolkit 4#R##N#Programming Java Services | 2006
Borja Sotomayor; Lisa Childers
This chapter introduces the Grid Security Infrastructure (GSI), the basis for GT4s Security layer. A working knowledge of fundamental security concepts is assumed in this chapter. This chapter requires a basic knowledge of public-key cryptography, certificates, and certificate authorities work, to be able to understand clearly. The Globus Toolkit 4 allows one to overcome the security challenges posed by grid applications through the GSI. GSI is a family of components that include command-line tools to manage certificates, Java classes to easily integrate security into web services, and higher-level services. GSI allows one to enable security at two levels: the transport level or the message level. GSI supports three authentication methods: X.509 certificates, username and password, and anonymous authentication. In general, in terms of authentication, communications can fall into three categories: Mutually authenticated, server-side only authentication, and completely unauthenticated. Although authorization is not one of the “fundamental pillars” of a secure conversation, it is nonetheless an important part of GSI. Authorization refers to who is authorized to perform a certain task. Credential delegation and single sign-on are one of the most interesting features of GSI, and are possible thanks to something called proxy certificates . Many of the features described in this chapter can be specified at three levels: container, service, and resource level.
technical symposium on computer science education | 2016
Aaron Bloomfield; Borja Sotomayor
The ACMs International Collegiate Programming Contest (ICPC) is the worlds oldest and largest programming contest. Although students can benefit both pedagogically and professionally from participating in this contest, participation in North America is far smaller than in the rest of the world, which we partially attribute to the perceived low payoff of participating in ICPC. We discuss the pedagogical benefits of participation in ICPC, which include higher student enthusiasm for computer science studies and better career prospects post-graduation, and present a set of cohesive strategies aimed at increasing involvement and success within the ICPC. For aspiring coaches and contestants, we also provide links and references for further study.
Globus® Toolkit 4#R##N#Programming Java Services | 2006
Borja Sotomayor
Publisher Summary This chapter provides a brief introduction to Grid computing. This chapter allows to better understand the relevance of OGSA and WSRF in the Grid universe. The definitions of Grid computing are just like resources on a Grid: numerous and heterogeneous. One of the best definitions out there is Ian Fosters What is the Grid? A Three Point Checklist. Although, as Ian himself points out in the paper, the checklist still leaves room for debate, it nonetheless provides a concise and straightforward definition. A brief introduction to Grid computing has been provided in this chapter, but only enough to understand how OGSA and WSRF are relevant to Grid computing. The two main ideas that should be kept in mind are (1) that Grid systems involve heterogeneous resources from different organizations, and (2) that coordinating all these resources is non-trivial and involves a lot of different services such as job schedulers, resource managers, and information services.
technical symposium on computer science education | 2016
Borja Sotomayor; Adam Shaw
We present chidb, a medium to large-scale programming project where students implement the main components of a relational database management system, including B-tree data structures for tables and indexes, a database machine with registers and a selection of high-level and low-level instructions, and a SQL compiler targeting that machine. Moreover, chidbs SQL compilers internal representation is a direct encoding of the relational algebra, whereby the theory that might otherwise be relegated to notes and blackboards is directly connected to practice and experience. The project uses the C programming language and is demonstrably suitable for use in advanced undergraduate courses; we have administered this project through five iterations of our databases course for advanced undergraduates. chidb is freely available online and customizable to suit the needs and tastes of any particular instructor.
Globus® Toolkit 4#R##N#Programming Java Services | 2006
Borja Sotomayor; Lisa Childers
Working with the security components of GT4 requires a basic knowledge of certain fundamental computer security concepts. It requires familiarization with concepts such as authentication, authorization, public key cryptography, and certificate authorities. This chapter is meant as an overview of these concepts. Security encompasses much more than simply encrypting and decrypting data. The three pillars of a secure communication (or “secure conversation”) are considered to be privacy, integrity, and authentication. Ideally, a secure conversation should feature all three pillars, but this is not always so (sometimes it might not even be desirable). Different security scenarios might require different combination of features (e.g. “only privacy”, “privacy and integrity, but no authentication”, “only integrity”). Cryptography is “the art of writing in secret characters.” Encrypting is the act of translating a “normal message” to a message written with “secret characters” (also known as the encrypted message). Decrypting is the act of translating a message written with “secret characters” into a readable message (the unencrypted message). It is, by far, one of the most important areas in computer security, since modern encryption algorithms can ensure all three pillars of a secure conversation: privacy, integrity, and authentication. Public-key algorithms are asymmetric algorithms and, therefore, are based on the use of two different keys, instead of just one. In public-key cryptography, the two keys are called the private key and the public key. A digital certificate is a digital document that certifies that a certain public key is owned by a particular user. This document is signed by a third party called the certificate authority.
Globus® Toolkit 4#R##N#Programming Java Services | 2006
Borja Sotomayor; Lisa Childers
Two acronyms that are often seen associated with GT4 and, in fact, with Grid computing itself, are OGSA (Open Grid Services Architecture) and WSRF (Web Services Resource Framework). But…what do they mean? How are they related to the Globus Toolkit 4? This chapter attempts to clarify these important concepts and how they are related. The Open Grid Services Architecture (OGSA), developed by The Global Grid Forum, aims to define a common, standard, and open architecture for grid-based applications. The goal of OGSA is to standardize practically all the services one commonly finds in a grid system (job management services, resource management services, and security services) by specifying a set of standard interfaces for these services. The WSRF is a collection of specifications under the auspices of OASIS. WSRF specifies how to make a Web Services stateful, along with adding a lot of other cool features. It is important to note that WSRF is a joint effort by the Grid and Web Services communities, so it fits pretty nicely inside the whole Web Services Architecture. The relation between OGSA and WSRF is that WSRF provides the stateful services that OGSA needs. Another way of expressing this relation is that, while OGSA is the architecture, WSRF is the infrastructure on which that architecture is built on.
technical symposium on computer science education | 2016
Aaron Bloomfield; Borja Sotomayor
Programming contests have a number of pedagogical benefits: they reinforce many concepts and skills that students see in computer science courses, build cross-cutting skills such as teamwork, and can improve job prospects by better preparing students for technical job interviews. The largest and oldest inter-collegiate programming contest in the world is the ACMs International Collegiate Programming Contest (ICPC). Participating in this contest can be fun and instructive for students, but some schools are discouraged from participation because of the large hurdles involved in forming an effective programming contest team, or in making an existing team more effective. A key to success for coaches and teams is to connect with existing individuals who are involved in the process and learn from them, as it is very hard to initiate effective involvement with no external help. This birds-of-a-feather will bring together existing ICPC coaches with other faculty who want to start such a programming contest team, or who want to improve their existing teams. Discussions will include issues that prevent greater participation in the North American super-region, as well as the overall international ICPC climate. Extensive links to existing resources -- both online and published -- will be provided, as well as a means for coaches to foster networking and communication. Strategy guides, including an article in this years SIGCSE conference, will be discussed and distributed.