From 4f085ff304c693c2c13041a36f466cd49da03f7c Mon Sep 17 00:00:00 2001 From: Ekaitz Zarraga Date: Wed, 7 Aug 2024 17:32:48 +0200 Subject: Start LOCO paper --- papers/LOCO-24/contents.latex | 236 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 236 insertions(+) create mode 100644 papers/LOCO-24/contents.latex diff --git a/papers/LOCO-24/contents.latex b/papers/LOCO-24/contents.latex new file mode 100644 index 0000000..6069a97 --- /dev/null +++ b/papers/LOCO-24/contents.latex @@ -0,0 +1,236 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% PAPER FOR: %% +%% https://locos.codeberg.page/loco2024/ %% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +%% The first command in your LaTeX source must be the \documentclass +%% command. +%% +%% For submission and review of your manuscript please change the +%% command to \documentclass[manuscript, screen, review]{acmart}. +%% +%% When submitting camera ready or to TAPS, please change the command +%% to \documentclass[sigconf]{acmart} or whichever template is required +%% for your publication. +%% +%% +\documentclass[sigconf]{acmart} + +%% For Unix quotes +\usepackage{epigraph} +\setlength{\epigraphrule}{0pt} + +%% \BibTeX command to typeset BibTeX logo in the docs +\AtBeginDocument{% + \providecommand\BibTeX{{% + Bib\TeX}}} + +%% Rights management information. This information is sent to you +%% when you complete the rights form. These commands have SAMPLE +%% values in them; it is your responsibility as an author to replace +%% the commands and values with those provided to you when you +%% complete the rights form. +\setcopyright{none} +\copyrightyear{2024} +\acmYear{2024} +\acmDOI{} + +%% These commands are for a PROCEEDINGS abstract or paper. +\acmConference[LOCO '24]{1st International Workshop on Low Carbon +Computing}{December 05, 2024}{Glasgow, Scotland, United Kingdom } +%% +%% Uncomment \acmBooktitle if the title of the proceedings is different +%% from ``Proceedings of ...''! +%% +%%\acmBooktitle{Woodstock '18: ACM Symposium on Neural Gaze Detection, +%% June 03--05, 2018, Woodstock, NY} +\setcopyright{none} +\settopmatter{printacmref=false} +\acmDOI{} +\acmISBN{} + + +%% Submission ID. +%% Use this when submitting an article to a sponsored event. You'll +%% receive a unique submission ID from the organizers +%% of the event, and this ID should be used as the parameter to this command. +%%\acmSubmissionID{123-A56-BU3} + +%% For managing citations, it is recommended to use bibliography +%% files in BibTeX format. +%% +%% You can then either use BibTeX with the ACM-Reference-Format style, +%% or BibLaTeX with the acmnumeric or acmauthoryear sytles, that include +%% support for advanced citation of software artefact from the +%% biblatex-software package, also separately available on CTAN. +%% +%% Look at the sample-*-biblatex.tex files for templates showcasing +%% the biblatex styles. +%% + +%% +%% The majority of ACM publications use numbered citations and +%% references. The command \citestyle{authoryear} switches to the +%% "author year" style. +%% +%% If you are preparing content for an event +%% sponsored by ACM SIGGRAPH, you must use the "author year" style of +%% citations and references. +%% Uncommenting +%% the next command will enable that style. +%%\citestyle{acmauthoryear} + + +%% end of the preamble, start of the body of the document source. +\begin{document} + +%% The "title" command has an optional parameter, +%% allowing the author to define a "short title" to be used in page headers. +\title{A computing system that embraces the language} + +%% +%% The "author" command and its associated commands are used to define +%% the authors and their affiliations. +%% Of note is the shared affiliation of the first two authors, and the +%% "authornote" and "authornotemark" commands +%% used to denote shared contribution to the research. +\author{Ekaitz Zárraga Río} +%% \authornote{Both authors contributed equally to this research.} +\email{ekaitz@elenq.tech} +%% \affiliation{% +%% \institution{Institute for Clarity in Documentation} +%% \city{Dublin} +%% \state{Ohio} +%% \country{USA} +%% } + +%% +%% By default, the full list of authors will be used in the page +%% headers. Often, this list is too long, and will overlap +%% other information printed in the page headers. This command allows +%% the author to define a more concise list +%% of authors' names for this purpose. +\renewcommand{\shortauthors}{Zárraga Río E.} + +%% The abstract is a short summary of the work to be presented in the +%% article. +\begin{abstract} + Computing, as any other field, evolved from the previous work on the matter. + During its development huge advancements have been done in many areas but + only some are in use today, due to the inertia industry already had, which + forced some sort of retrocompatibility. In this document a new computing + platform is presented, one that makes use of some of the ideas that didn't + reach the mainstream and uses our current computing capabilities in order to + achieve a personal computing device that embraces the programming language. +\end{abstract} + +%% Document outline: +%% - Motivation: Simplification as a mean for more efficient computing and +%% a more accessible manufacture. Modern computing systems are so complex +%% that they require very good manufacturing to deal with the excessive +%% computing waste. +%% Also, maintenance should be reduced as much as possible, even leaving it +%% in the hands of the user, as Oberon would, reducing the impact of the +%% repairs, upgrades, and computing infrastructure needed for simple tasks. +%% - Kernels, Unix +%% - Interpreters +%% - Shells +%% - Are interpreters a kernel? +%% - Removing layers instead of adding layers +%% - Unikernels: Good idea but miss the target. + +%% Keywords. The author(s) should pick words that accurately describe +%% the work being presented. Separate the keywords with commas. +\keywords{Operating Systems, Programming Languages, Interpreters} +%% A "teaser" image appears between the author and affiliation +%% information and the body of the document, and typically spans the +%% page. +%% \begin{teaserfigure} +%% \includegraphics[width=\textwidth]{sampleteaser} +%% \caption{Seattle Mariners at Spring Training, 2010.} +%% \Description{Enjoying the baseball game from the third-base +%% seats. Ichiro Suzuki preparing to bat.} +%% \label{fig:teaser} +%% \end{teaserfigure} + +%% Dates for the article +%% \received{20 February 2007} +%% \received[revised]{12 March 2009} +%% \received[accepted]{5 June 2009} + + +%% This command processes the author and affiliation and title +%% information and builds the first part of the formatted document. +\maketitle + +\section{Motivation} + +\subsection{Von Neumann architecture} +\subsection{Unix} +\epigraph{ + Applicants must also have extensive knowledge of Unix, although they should + have sufficiently good programming taste to not consider this an achievement.} +{\textit{-- Hal Abelson}} + +\subsection{The Kernel} +\subsubsection{Virtual Memory} +\subsection{The Shell} + The shell is run as a userspace program that has the hability to launch other + programs using an outdated fork+exec mechanism that encourages memory + overshoot\cite{fork:Baumann}. + The shell in Unix systems is optimized for text processing as, in McIlroy's + words, \textit{"text streams [are] the universal interface"} + \cite{QuarterCenturyUnix:Salus}. + +\subsection{Language interpreters} + Language interpreters are run as userspace programs. + +\subsection{Hardware} + Computer processors, often marketed as "\textit{general purpose}", are based + on the von Newmann model\cite{LiberateFromVonNeumann:Backus}, a CPU and a + Store that is, and designed for running an Operating System on them. They + clearly separate privileged, reserved for the kernel, and unprivileged + instructions, that any userspace program can use, in order to facilitate + interrupt and virtual memory control. + + Contrary to what one could expect, most of the improvements in the processor + architectures come from specialization for the said case, and not from + generalization. + + Modern processors are heavily optimized for Operating Systems that follow the + Unix model (which includes MS Windows), and a memory layout that resembles + that of a C-like program, which also comes from the days of Unix + \cite{GeneralPurposeProcessor:Chisnall}, reducing the chance for other + paradigms to succeed. + + +\section{Proposal} + +\section{CPU} +\subsection{Optimization for tree structures} +\subsection{Hardware garbage collection} +\subsection{Extendable CPU} + +\cite{Threads:Lee} + +%% The acknowledgments section is defined using the "acks" environment +%% (and NOT an unnumbered section). This ensures the proper +%% identification of the section in the article metadata, and the +%% consistent spelling of the heading. +%% \begin{acks} +%% To Robert, for the bagels and explaining CMYK and color spaces. +%% \end{acks} + + +%% The next two lines define the bibliography style to be used, and +%% the bibliography file. +\bibliographystyle{ACM-Reference-Format} +\bibliography{../../bibliography} + + +%% If your work has an appendix, this is the place to put it. +%% \appendix + + +\end{document} +\endinput -- cgit v1.2.3