scholarly journals Tail Call Elimination in the OpenSmalltalk Virtual Machine

Author(s):  
Matthew Ralston

Tail call elimination is used by languages and compilers to optimize the activation of methods in tail position. While this optimization has been the source of much research, it has not previously been implemented in the OpenSmalltalk virtual machine - the open-source Smalltalk virtual machine used by Smalltalk environments such as Pharo and Squeak. There are many approaches described in the literature to implement tail call elimination, such as removing stack frames on method activation instead of method return. Two implementations of tail call elimination using a stack frame removal approach are presented for Opensmalltalk VM. One implementation is presented for the Interpreter and one for the Cog JIT compiler. These implementations are tested with both ideal and real world scenarios and show improvements in execution time and memory usage.

2021 ◽  
Author(s):  
Matthew Ralston

Tail call elimination is used by languages and compilers to optimize the activation of methods in tail position. While this optimization has been the source of much research, it has not previously been implemented in the OpenSmalltalk virtual machine - the open-source Smalltalk virtual machine used by Smalltalk environments such as Pharo and Squeak. There are many approaches described in the literature to implement tail call elimination, such as removing stack frames on method activation instead of method return. Two implementations of tail call elimination using a stack frame removal approach are presented for Opensmalltalk VM. One implementation is presented for the Interpreter and one for the Cog JIT compiler. These implementations are tested with both ideal and real world scenarios and show improvements in execution time and memory usage.


Author(s):  
Faried Effendy ◽  
Taufik ◽  
Bramantyo Adhilaksono

: Substantial research has been conducted to compare web servers or to compare databases, but very limited research combines the two. Node.js and Golang (Go) are popular platforms for both web and mobile application back-ends, whereas MySQL and Go are among the best open source databases with different characters. Using MySQL and MongoDB as databases, this study aims to compare the performance of Go and Node.js as web applications back-end regarding response time, CPU utilization, and memory usage. To simulate the actual web server workload, the flow of data traffic on the server follows the Poisson distribution. The result shows that the combination of Go and MySQL is superior in CPU utilization and memory usage, while the Node.js and MySQL combination is superior in response time.


Author(s):  
Austin Rovinski ◽  
Tutu Ajayi ◽  
Minsoo Kim ◽  
Guanru Wang ◽  
Mehdi Saligane
Keyword(s):  

Electronics ◽  
2021 ◽  
Vol 10 (10) ◽  
pp. 1181
Author(s):  
Juanan Pereira

(1) Background: final year students of computer science engineering degrees must carry out a final degree project (FDP) in order to graduate. Students’ contributions to improve open source software (OSS) through FDPs can offer multiple benefits and challenges, both for the students, the instructors and for the project itself. This work reports on a practical experience developed by four students contributing to mature OSS projects during their FDPs, detailing how they addressed the multiple challenges involved, both from the students and teachers perspective. (2) Methods: we followed the work of four students contributing to two established OSS projects for two academic years and analyzed their work on GitHub and their responses to a survey. (3) Results: we obtained a set of specific recommendations for future practitioners and detailed a list of benefits achieved by steering FDP towards OSS contributions, for students, teachers and the OSS projects. (4) Conclusion: we find out that FDPs oriented towards enhancing OSS projects can introduce students into real-world, practical examples of software engineering principles, give them a boost in their confidence about their technical and communication skills and help them build a portfolio of contributions to daily used worldwide open source applications.


2021 ◽  
Vol 4 (2) ◽  
pp. 192-203
Author(s):  
Ida Bagus Ary Indra Iswara ◽  
I Putu Pedro Kastika Yasa

The use of video conferencing technology is increasing due to the COVID-19 pandemic. Bigbluebutton and jitsi are examples of open source video conferencing platforms that can be installed on their own servers. The server is created using a cloud-based virtual machine. Analysis of quality of service which includes delay, packet loss, throughput, and jitter is needed to determine the quality of service and the comparison of the two platforms. Observations were also made on the use of CPU, memory / RAM, and disk usage for each server. There are 3 test scenarios carried out. Each scenario is carried out on each existing VM specification. From this test, it is known that in the delay parameter, the highest bigbluebutton is obtained, which is 35,35 ms. And then the highest jitsi delay is 17,66 ms. In packet loss parameters, jitsi obtained the highest yield, namely 0,29%, while for bigbluebutton only 0,16% of packet loss was the highest. Throughput, bigbluebutton and jitsi all got very bad results. However, bigbluebutton obtained better results, namely, the highest throughput was 5.6%. While Jitsi obtained the highest throughput, namely 2,8%. Whereas for the jitter parameter, jitsi obtained 0,00 ms results on all tests in each VM. Meanwhile, bigbluebutton, get 0,1 ms on test 3 on VM 1


2018 ◽  
Vol 7 (2.4) ◽  
pp. 147
Author(s):  
Swati Hira ◽  
Samir Ajani ◽  
Pratibha Kokardikar ◽  
Shubhangi Neware

The proposed email setup consist of multiple mail servers distributed at two levels to achieve desirable email access performance. It is a well-established fact that 99% of the emails received over internet are either spam or contained viruses and such emails can be dropped at the first entry point of the Network. Thus, the first level in the proposed architecture has been taken as an email gateway which is equipped with antivirus and anti-spam software. Spam assassion is an open source freeware software for filtering of the spam emails. Perl based spamassassion id to CPU and Memory hungry for heavily loaded server thus this new arrangement would then overcome the Problem of slow Email access for users by detaching spamassassion from email repository servers. The second level of the servers with email repositories for users all the email servers used in this implementation would be Linux X86 servers. Virtualization technique presents a software interface to virtual machines that is similar but not identical to that of the underlying hardware. First level is implemented in Virtual machine. So as to provide scalability, portability, migration and vendor independent. 


2017 ◽  
Author(s):  
Cobi Alison Smith

Crowdsourcing and open licensing allow more people to participate in research and humanitarian activities. Open data, such as geographic information shared through OpenStreetMap and image datasets from disasters, can be useful for disaster response and recovery work. This chapter shares a real-world case study of humanitarian-driven imagery analysis, using open-source crowdsourcing technology. Shared philosophies in open technologies and digital humanities, including remixing and the wisdom of the crowd, are reflected in this case study.


2020 ◽  
Vol 5 (3) ◽  
pp. 69-72
Author(s):  
Yudha Christianto Firmansyah ◽  
Wing Wahyu Winarno ◽  
Eko Pramono

Teknologi virtualisasi dalam dunia komputasi saat ini menjadi topik hangat untuk diperbincangkan dalam pembahasan riset teknologi yang dipergunakan pada server. Virtualisasi dan kontainer merupakan bagian yang sangat penting dalam pengoptimalisasian server, karena sangat berpengaruh pada efisiensi pengelolaan resource infrastruktur server itu sendiri. Pembuatan sebuah server yang baik membutuhkan biaya yang tidak sedikit apalagi untuk membangun hingga menjadi sebuah cloud computing. Supaya biaya dapat ditekan dan murah maka digunakanlah virtualisasi server. Virtualisasi server ialah membangun server pada sebuah komputer atau laptop menggunakan media machineware. Dalam VM tersebut dibangun beberapa server dengan sistem operasi berbeda, baik dari Microsoft Windows maupun Linux dengan variannya, semua sistem operasi berjalan bersamaan. Proxmox merupakan software open source Virtualization Platform untuk menjalankan Virtual Appliance dan Virtual Machine. Proxmox VE adalah distro khusus yang didedikasikan secara khusus sebagai mesin host virtualisasi sistem dan memuat 2 teknologi virtualisasi, yaitu KVM dan OpenVZ. Dari basil penelitian dapat disimpulkan bahwa ProxmoxVE dapat menjalankan mesin virtual secara penuh layaknya baremetal hypervisor. Hal ini ditunjukkan dengan berjalannya beberapa VM dalam satu server untuk menjalankan sistem maupun aplikasi yang dipergunakan pada institusi tersebut sehingga dapat menekan pengeluaran biaya untuk pembelian server.


Sign in / Sign up

Export Citation Format

Share Document