[pt-BR] Open Source Friday Brasil 🇧🇷✨ com Manoel Campos mantenedor do CloudSim Plus 📱

By GitHub

Share:

Key Concepts

  • Open Source Friday: A program by GH Brasil that showcases Brazilian open-source projects and their maintainers.
  • CloudSim Plus: A fork of the CloudSim simulator, developed by Manuel Campos, used for scientific research in cloud computing, particularly for simulating resource management and energy consumption.
  • Cloud Computing: A model of computing that delivers computing services—including servers, storage, databases, networking, software, analytics, and intelligence—over the Internet (“the cloud”) to offer faster innovation, flexible resources, and economies of scale.
  • Simulation: The imitation of the operation of a real-world process or system over time.
  • Forking (in software development): Creating a copy of an existing software project to develop it independently.
  • JVM (Java Virtual Machine): A virtual machine that enables a computer to run a Java program.
  • MIPS (Millions of Instructions Per Second): A measure of computer performance.
  • Load Balancing: The process of distributing network traffic across multiple servers to ensure no single server is overwhelmed.
  • GitHub: A web-based platform for version control and collaboration, widely used for hosting and managing open-source projects.
  • Copilot (GitHub Copilot): An AI pair programmer that suggests code and entire functions in real-time, right inside the editor.

Manuel Campos: A Professor, Developer, and Open Source Advocate

This summary details the conversation with Manuel Campos on Open Source Friday, a program by GH Brasil that highlights Brazilian open-source projects. Manuel shares his personal journey, technical background, and the development of his project, CloudSim Plus.

Personal Background and Philosophy

Manuel Campos resides in Tocantins, Brazil, a region known for its intense heat. He describes himself as a father, husband, and a lifelong learner who is "eternally inconformist." This philosophy drives him to constantly seek improvement, both personally and professionally. He has been a professor for 22 years, aiming to inspire his students not only technically but also as better individuals, acting as a role model. His family is deeply involved in computing, with his son pursuing a master's degree in the field. His wife is also present and expecting their second child.

Technical Background and Specialization

Manuel has been in the technology field for 25 years, starting his journey in 1999. He initially pursued technology due to a lack of other options but quickly fell in love with it. He has worked with numerous languages and technologies but has specialized in Java, having worked with it since Java 6. He appreciates Java's evolution, particularly how recent versions (like Java 25) have simplified the language, making it more accessible for beginners, especially in an educational context. While Java is his primary focus, he also expresses a liking for JavaScript and TypeScript, and enjoys working with front-end frameworks like React and Next.js, though he admits to having "zero ability with design." He humorously states his role is to "transform design into code" rather than create the design itself.

Musical Aspirations

Manuel humorously admits to owning a guitar that belonged to his father-in-law, which he "stole" and now serves as decoration. He took a few guitar lessons years ago but abandoned them, identifying with the common sentiment among developers of being "frustrated musicians."

Entry into Open Source

Manuel's foray into open source began during his master's degree at UnB in 2008. He always had a strong inclination to share knowledge and was frustrated by his advisor's desire to patent research rather than make it freely available. He started sharing his work, initially as zip files on his personal page. A friend introduced him to GitHub around 2018, which he found "fantastic" and now considers his primary social network. He also uses GitHub Copilot extensively, even incorporating it into his live coding sessions with students to optimize teaching.

CloudSim Plus: A Fork for Evolution

Manuel's project, CloudSim Plus, is a fork of the CloudSim simulator. CloudSim is a tool used for scientific research in cloud computing, particularly for simulating cloud infrastructure and resource management. Manuel's fork became necessary because the original project's development had stalled, and the original maintainer was unresponsive. He explains that forking is a last resort when direct contributions to the original project are not feasible.

Key aspects of CloudSim Plus:

  • Purpose: To simulate cloud computing environments for research, especially when real infrastructure is too expensive or time-consuming to set up. This is crucial for developing and testing new algorithms for resource allocation, energy efficiency, and performance optimization.
  • Origin: It's a result of Manuel's doctoral research at a university in Portugal, where he needed a simulation tool for his experiments.
  • Development: Manuel started contributing to the original CloudSim in 2016. He initially focused on improving documentation but soon realized the project's architecture hindered further development and the alignment with the original team's vision was difficult. This led him to create an independent fork.
  • Improvements: CloudSim Plus has seen significant improvements in its structure, architecture, ease of use, and the addition of numerous features.
  • Use Cases:
    • Energy Consumption Optimization: Simulating how different resource allocation strategies impact energy consumption in data centers.
    • Resource Management: Testing new algorithms for allocating virtual machines (VMs) and containers to physical servers.
    • Performance Analysis: Measuring metrics like response times and task completion times under various simulated loads.
  • Technical Details:
    • The entire framework is written in Java, currently using Java 25.
    • It simulates infrastructure components like hosts (physical servers), data centers, virtual machines (VMs), and containers.
    • Users can define the specifications of hosts (RAM, bandwidth, storage, CPU cores with MIPS capacity) and VMs (CPU, RAM, bandwidth, disk space).
    • Utilization models define how applications consume resources. These can be constant, progressive, or random.
    • The simulator can ingest trace files from real cloud providers (like Google, Microsoft, Alibaba) to simulate the resource consumption of actual applications.
    • It supports simulating load balancing policies, including horizontal (cloning VMs/containers) and vertical (increasing resources of existing VMs/containers).
  • Contribution: The project is open for contributions. Manuel has created a detailed contribution guide on GitHub, explaining how to fork the project, create branches, make commits, and follow best practices. He encourages contributions through starring the repository, opening issues, and submitting pull requests. He also emphasizes the importance of discussing ideas with maintainers before extensive development to ensure alignment with the project's goals.

Demonstrating CloudSim Plus Code

Manuel shared his screen to demonstrate the CloudSim Plus code. He highlighted the simplified syntax in Java 25, where a class is no longer strictly required for a main method. He walked through the code for setting up a simulated data center with hosts, defining VM specifications, and creating applications (called "cloudlets"). He showed how the simulator checks for resource availability and how different utilization models can be applied. He also presented an example output showing host energy consumption, emphasizing that the values can be calibrated with real-world server power consumption data.

Future of CloudSim Plus and Contributions

Manuel acknowledges that the project is large and complex, with ongoing areas for improvement. He relies on community contributions to further develop CloudSim Plus. He also mentioned that his tool has inspired the creation of at least 10 other independent projects, often focusing on specific aspects like graphical interfaces built on top of his simulation engine. He encourages potential contributors to first open an issue to discuss their ideas before diving into coding.

Conclusion

Manuel Campos's participation in Open Source Friday was a deep dive into his personal and professional journey, culminating in a detailed explanation of CloudSim Plus. His passion for teaching, his "inconformist" spirit, and his dedication to open source are evident. The session provided valuable insights into cloud computing simulation, the evolution of Java, and the practicalities of contributing to open-source projects.

Chat with this Video

AI-Powered

Hi! I can answer questions about this video "[pt-BR] Open Source Friday Brasil 🇧🇷✨ com Manoel Campos mantenedor do CloudSim Plus 📱". What would you like to know?

Chat is based on the transcript of this video and may not be 100% accurate.

Related Videos

Ready to summarize another video?

Summarize YouTube Video