summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--papers/LOCO-24/contents.latex236
1 files changed, 236 insertions, 0 deletions
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