From b0e4c491f1e69f8138208abebcfb31806e5d8fbb Mon Sep 17 00:00:00 2001 From: Jay Wright <90924187+JayWright31@users.noreply.github.com> Date: Fri, 19 Apr 2024 15:14:32 +0100 Subject: [PATCH 001/160] create author profile --- _data/authors.yml | 4 ++++ jcwright/atom.xml | 4 ++++ jcwright/feed.xml | 4 ++++ jcwright/index.html | 5 +++++ jwright/index.html | 1 - 5 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 jcwright/atom.xml create mode 100644 jcwright/feed.xml create mode 100644 jcwright/index.html diff --git a/_data/authors.yml b/_data/authors.yml index eefdea3374..73b05a5364 100644 --- a/_data/authors.yml +++ b/_data/authors.yml @@ -54,6 +54,7 @@ active-authors: - jarnstein - jbeckles - jbickleywallace + - jcwright - jdunleavy - jgrant - jharris @@ -474,6 +475,9 @@ authors: picture: picture.jpg jcardy: name: "Jonathan Cardy" + jcwright: + name: "Jay Wright" + author-summary: "

I'm a developer at Scott Logic, based in Newcastle. My primary interest is in backend development, primarily in Java, and cloud technologies. I also have experience building web applications in React.

\n

Away from work I'm a keen petrol head and avid Formula One fan. I support McLaren, in case you were wondering.

" jdunkerley: author-summary: "

I am a Technical Architect at Scott Logic, based in London. I have many years of using C# within financial services. My current interests are in data analytics and visualisation, particularly using Tableau and Alteryx. I also enjoying learning about new big data technologies and machine learning.

" name: "James Dunkerley" diff --git a/jcwright/atom.xml b/jcwright/atom.xml new file mode 100644 index 0000000000..f3035cd520 --- /dev/null +++ b/jcwright/atom.xml @@ -0,0 +1,4 @@ +--- +author: jcwright +layout: atom_feed +--- \ No newline at end of file diff --git a/jcwright/feed.xml b/jcwright/feed.xml new file mode 100644 index 0000000000..65518fd0b6 --- /dev/null +++ b/jcwright/feed.xml @@ -0,0 +1,4 @@ +--- +author: jcwright +layout: rss_feed +--- \ No newline at end of file diff --git a/jcwright/index.html b/jcwright/index.html new file mode 100644 index 0000000000..c08f767ed3 --- /dev/null +++ b/jcwright/index.html @@ -0,0 +1,5 @@ +--- +author: jcwright +title: Jay Wright +layout: default_author +--- diff --git a/jwright/index.html b/jwright/index.html index 34ac61824a..963cbe3050 100644 --- a/jwright/index.html +++ b/jwright/index.html @@ -3,4 +3,3 @@ author: jwright layout: default_author --- - From 95e7f321aa59a7a5aca2b9f4d53ad9b718d99478 Mon Sep 17 00:00:00 2001 From: Jay Wright <90924187+JayWright31@users.noreply.github.com> Date: Fri, 19 Apr 2024 16:30:26 +0100 Subject: [PATCH 002/160] add draft text --- ...-19-measuring-energy-usage-in-the-cloud.md | 57 +++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 _posts/2024-04-19-measuring-energy-usage-in-the-cloud.md diff --git a/_posts/2024-04-19-measuring-energy-usage-in-the-cloud.md b/_posts/2024-04-19-measuring-energy-usage-in-the-cloud.md new file mode 100644 index 0000000000..8e851a667e --- /dev/null +++ b/_posts/2024-04-19-measuring-energy-usage-in-the-cloud.md @@ -0,0 +1,57 @@ +--- +title: Measuring energy consumption in the cloud +date: 2024-04-19 00:00:00 Z +categories: + - jcwright + - Sustainability +layout: default_post +summary: A look into one approach to measuring energy consumption of CPU benchmarks on AWS. +--- + +Measuring energy consumption in the cloud is deceptively hard. You would think that the cloud providers, with their God-like omniscience, would be able to rustle up a chart or two. Alas this data remains frustratingly absent from most cloud providers’ reporting tools. As the world becomes more aware of the impending climate crisis, businesses that wish to keep an eye on their energy (and by extension carbon) impact are left at the mercy of their cloud provider to give them some kind of idea of how they’re doing. Often all that’s available is a generic carbon footprint report that, if you’re lucky, is updated once a month. + +This blog post is one in a series of posts from an internal project undertaken here at Scott Logic. The aim of the project was to investigate the carbon footprint of mobile computation. A slight misnomer in that we’re also comparing mobile to the server. I won’t go into the actual results as that’s a topic for a different blog post. Instead I wanted to talk through the steps we took to solve the problem for our use case. + +### What we were trying to solve + +Before we could actually start building anything we needed to know what data we needed to capture or generate. I knew from the mobile apps the team had already built before I joined that we would be running some CPU benchmarks. Although the project has the words ‘carbon footprint’ in the name, the actual point of comparison between the three platforms (iOS, Androids, and the server) would be energy consumption. + +So we needed some sort of test harness that could be deployed to the cloud (provider TBD) from which we could run these CPU benchmarks, record how long they take to complete, and calculate the energy consumption. Easy enough, right? + +### Non Starters + +Our first idea was to make use of the built in carbon footprint reporting tools. We determined that Google Cloud Platform (GCP) would be the best provider here. Our theory was we would be able to take the carbon footprint number, given in kilograms of CO2 equivalent, and calculate it back into a figure for energy used. However, after reading the white paper and diving into the GCP console it became clear that this approach would not work at all. There were too many unknowns about exactly how Google was calculating the carbon footprint, particularly the embodied carbon they were including. Also the report is generated monthly and is an aggregate across the services so this approach was swiftly shelved. + +My background is primarily in AWS so while doing research into GCP I came across a blog post by Etsy on their Cloud Jewels. Truthfully, I think I found it by Googling something like “how to measure energy consumption on GCP”, a blatant shot in the dark hoping someone had already done the heavy lifting for me. The Cloud Jewel approach looked promising enough, although it still seemed a little too vague. For instance it assumes a figure of 2.1Wh per vCPU. Any vCPU, regardless of instance type. So that got moved to the back burner. It would be good enough if we couldn’t find anything else but we wanted to keep digging. + +Around the same time, our Principal Architect on the project pointed me in the direction of a post by Teads. They had created a carbon footprint estimator for AWS instances and helpfully had created a spreadsheet with energy figures for almost every instance. This was the data we needed. We would run the benchmarks, capture the CPU utilisation from CloudWatch, then use the Teads energy figures for the instance type we were using and the duration of the run to calculate energy. + +### Running Benchmarks + +Now armed with a rough idea of what to do it was time to start building. So that we could compare the server results to the mobile results we would need to implement the benchmarks in Java and Swift. I decided to start with Java as it’s a language I’m already familiar with. I decided to create a simple Java Spring Boot application that would act as the test runner. I created a REST controller from which we could select the benchmark to run, the complexity, and a number of iterations. That last part will become important when it comes to measuring the energy. + +The benchmarks used were: + +- Fannkuch +- Mandelbrot +- Spectral + +I was able to lift the benchmark code directly from the Android app repo. + +The test runner was Dockerised and ran on ECS using EC2. I started with the t2 instance family but the boosting ability meant that run durations weren’t consistent. I changed to an m4.large. This gave me 2 vCPU cores and 8GB of memory. The memory was somewhat irrelevant as utilisation never got higher than around 9.5%. The m4.large was fine until it came time to implement the WebAssembly versions of the benchmarks. For whatever reason the wasm binaries would refuse to run and exit with a 132 exit code. Changing to a more modern m6i.large instance fixed that. We were never able to get to the bottom of it. + +For Swift, rather than creating an entirely new test harness application, I was able to run it from the same Docker container as the Java benchmarks using another Spring REST controller and the Java ProcessBuilder API. + +It was much the same story for WebAssembly. I included a WASM interpreter along with the benchmark binaries and again used the ProcessBuilder to run the benchmarks. + +### Measuring Energy + +So what approach did we take? Because the Teads spreadsheet gave us energy figures for basically every instance, I figured I could write a simple method that would take the CPU utilisation data and estimate the energy consumption by comparing it to the Teads data. Better still, if I could integrate this into the test runner app all I would need to do is set the benchmarks away running and wait for the results. + +Fortunately, because our test harness is a Java Spring application, that gives us the ability to use the AWS SDK for Java to programmatically get CPU utilisation metrics from CloudWatch. This presented a slight problem. CloudWatch utilisation data is an average of CPU utilisation for the last minute. If the benchmark doesn’t run for long enough, the CPU utilisation percentage won’t be accurate. To combat this there are two options: increase the complexity of the benchmark, or run lots of benchmarks consecutively. We needed to keep the complexity values consistent across runs on all platforms so that just left running consecutive benchmarks. + +Having the energy calculation functionality built into the Java test harness was a big reason behind the decision to run the Swift and Wasm benchmarks from it. There are almost certainly better ways of doing it but we found this approach worked well for us. + +### Potential Future Steps + +As is the case with most research projects, the work is seldom finished. Our server experimentation only covers CPU benchmarks. The mobile work started looking at JavaScript, GPU benchmarks, and video encoding. Expanding the server testing to cover these areas is the logical next step in the project. Unfortunately we ran out of time to complete them as part of this project, but perhaps it’s something that we or another team could circle back to. From bfb9ce117d933e34da35a03cc549273847611ac6 Mon Sep 17 00:00:00 2001 From: Jay Wright <90924187+JayWright31@users.noreply.github.com> Date: Fri, 19 Apr 2024 16:34:44 +0100 Subject: [PATCH 003/160] add author to post --- _posts/2024-04-19-measuring-energy-usage-in-the-cloud.md | 1 + 1 file changed, 1 insertion(+) diff --git a/_posts/2024-04-19-measuring-energy-usage-in-the-cloud.md b/_posts/2024-04-19-measuring-energy-usage-in-the-cloud.md index 8e851a667e..fb3c1df4f8 100644 --- a/_posts/2024-04-19-measuring-energy-usage-in-the-cloud.md +++ b/_posts/2024-04-19-measuring-energy-usage-in-the-cloud.md @@ -4,6 +4,7 @@ date: 2024-04-19 00:00:00 Z categories: - jcwright - Sustainability +author: jcwright layout: default_post summary: A look into one approach to measuring energy consumption of CPU benchmarks on AWS. --- From e95c0ebb66e191462b0fa1f3131433770609cd03 Mon Sep 17 00:00:00 2001 From: Gurveer Arora Date: Fri, 19 Apr 2024 21:53:54 +0100 Subject: [PATCH 004/160] garora: create noJS2 - ticatactoe blog --- PULL_REQUEST_TEMPLATE | 2 +- .../2024-04-23-noJS-2-stochastic-boogaloo.md | 257 ++++++++++++++++++ garora/assets/2024-04-23/icon.png | Bin 0 -> 30109 bytes garora/assets/2024-04-23/random_labels.mp4 | Bin 0 -> 42343 bytes 4 files changed, 258 insertions(+), 1 deletion(-) create mode 100644 _posts/2024-04-23-noJS-2-stochastic-boogaloo.md create mode 100644 garora/assets/2024-04-23/icon.png create mode 100644 garora/assets/2024-04-23/random_labels.mp4 diff --git a/PULL_REQUEST_TEMPLATE b/PULL_REQUEST_TEMPLATE index 4eb56419c4..e1a2042b93 100644 --- a/PULL_REQUEST_TEMPLATE +++ b/PULL_REQUEST_TEMPLATE @@ -7,7 +7,7 @@ Have you (please tick each box to show completion): - [ ] Added your blog post to a single category? - [ ] Added a brief summary for your post? Summaries should be roughly two sentences in length and give potential readers a good idea of the contents of your post. - [ ] Checked that the build passes? - - [ ] Checked your spelling (you can use `npm spellcheck` if that's your thing) + - [ ] Checked your spelling (you can use `npm install` followed by `npx mdspell "**/{FILE_NAME}.md" --en-gb -a -n -x -t` if that's your thing) - [ ] Ensured that your author profile contains a profile image, and a brief description of yourself? (make it more interesting than just your job title!) - [ ] Optimised any images in your post? They should be less than 100KBytes as a general guide. diff --git a/_posts/2024-04-23-noJS-2-stochastic-boogaloo.md b/_posts/2024-04-23-noJS-2-stochastic-boogaloo.md new file mode 100644 index 0000000000..93cef58d77 --- /dev/null +++ b/_posts/2024-04-23-noJS-2-stochastic-boogaloo.md @@ -0,0 +1,257 @@ +author: garora +title: NoJS 2':' Stochastic Boogaloo - Making a tic-tac-toe game with 'randomness' using pure HTML and CSS +categories: + - Tech +layout: default_post +summary: Everyone loves CSS! Continuing in my obsession, I have created a tictactoe game, with an option to have a CPU that plays randomly. This was made without any javascript, only used HTML and CSS. In this blog post I discuss how I made it +category: Tech +image: garora/assets/2024-06-26/icon.png +--- + +This is part two to [this post](https://blog.scottlogic.com/2022/01/20/noJS-making-a-calculator-in-pure-css-html.html) where I explain how I made this pure CSS [calculator](https://quarknerd.github.io/noJS/calc.html). Next up I made [tictactoe](), which isn't in itself that an interesting extension, but the challenge came in adding a CPU to play "randomly". In this blog post I ~~make a case for my sanity~~ explain how I made it. + +## Rules +The only thing I wrote was html and css. No HAML or SCSS or any other pre-processors. The no javascript is enforced by testing the app with javascript disabled by the browser. You can view my full codebase [here](https://github.com/QuarkNerd/noJS/). + +## How did I make it? + +### Basic game logic +In my previous blog post, I've explained how we can use radio buttons and labels to create the effect of buttons and state. This is pretty much all we need for the basic game. + +Start off by creating the inputs + +```html +
+ + + + + +
+``` + +Then each square of the game looks something like this + +```html +
+ + +
+
+
+``` + +The first thing we need to do is ensure that the only label that can be clicked is the one corresponding to who's turn it is. We do this with + +```css + body:has(input:checked), + body:has(input[id^="X"]:checked ~ input[id^="X"]:checked), + /* more selectors for 3, 4 and 5 Xs*/ + { + --has-x-just-played: 1; + } + + body, + body:has(input[id^="O"]:checked), + body:has(input[id^="O"]:checked ~ input[id^="O"]:checked), + /* more selectors for 4 and 5 Os*/ + { + --has-x-just-played: 0; + } + + label[for^="O"] { + transform: scale(var(--has-x-just-played)); + } + +``` + +The first 2 rulesets are used to a variable based on how many X's and O's have been selected. The `has` operator is a relatively new one. It allows you select parents based on children or select previous siblings based on upcoming siblings. In this case, the variable `--has-x-just-played` is always applied to the `body` element, this allows us to avoid a lot of nesting. The final ruleset hides any `label` connected to an O `input` when it is X's turn, so that the only clickable `label` is for X. + +The simplest bit of the css logic is displaying the symbols, by default we set all symbols to `display: none` and then + +```css + /* display logic */ + body:has(#X-1:checked) .board-square-1 .symbol-X, + body:has(#X-2:checked) .board-square-2 .symbol-X, + /* ... */ + body:has(#O-1:checked) .board-square-1 .symbol-O, + /* ... */ + { + display: block; + } +``` + +This rule could be simplified by moving each pair of `input`s to just before the corresponding square. That way the selectors could be made relative and only 2 would be needed. However I prefer to keep all inputs tightly together, this also makes the endgame logic slightly more concise. + +Now we need some endgame logic + +NOTE_TO_REVIEWER - DOES THIS PART NEED MORE EXPLAING? TODO +```css +body:has(input[id^="X"]:nth-of-type(3n-2):checked + input:checked + input:checked), /* rows */ +body:has(input[id^="X"]:checked + * + * + input:checked + * + * + input[id^="X"]:checked), /* columns */ +body:has(input#X-1:checked ~ input#X-5:checked ~ input#X-9:checked), /* top-left to bottom-right diagonal */ +body:has(input#X-3:checked ~ input#X-5:checked ~ input#X-7:checked), /* top-right to bottom-left diagonal */ +{ + --has-X-won: 1; +} + +/* equivalent selectors for --has-O-won */ + +body:has(input:checked ~ input:checked ~ input:checked ~ input:checked ~ input:checked ~ input:checked ~ input:checked ~ input:checked ~ input:checked) +{ + --is-board-full: 1; +} + +body { + --is-game-over: max(var(--has-O-won), var(--has-X-won), var(--is-board-full)); + --is-game-on: calc(1 - var(--is-game-over)); + --has-drawn: calc(var(--is-game-over) - var(--has-X-won) - var(--has-O-won)); + + --is-X-to-play: calc(var(--is-game-on)*(1 - var(--has-x-just-played))); + --is-O-to-play: calc(var(--is-game-on)*var(--has-x-just-played)); +} + +``` + +Using the new variables `--has-X-won`, `--has-O-won` and `--has-drawn` we can display the result of the game. We can also change the O `label` scaling logic above to use `--is-O-to-play` and add an equivalent ruleset for X, so that the label become hidden when the game is over. A little bit of html and css is needed to move the squares into the right location, but there is nothing special here so I will skip over it. + +### Random +Now for the real fun part, how to create a ~~sophisticated AI~~ bot to play in an evenly distributed 'random' manner. For this we first create extra labels for all of the locations (for X and O). They will be placed behind a `div` that will act as a `button`. If we animate the labels and make them invisible, the user will not be able to know which label is currently under the button. + +```html +
+
+ Random +
+
+ + +
+ +
+``` + +The css looks like + +```css +.random.O { + display: grid; + height: calc(var(--button-height) * 9 * var(--is-O-to-play)); +} +/* repeat for "X random" */ + +.random label { + display: block; + width: var(--button-width); +} + +.random-button-holder { + height: var(--button-height); + overflow: hidden; + box-shadow: var(--box-shadow); +} + +.button { height: var(--button-height); } + +``` + +At this point, what we have is a "button" with the word Random. The labels are inaccessible due to the `overflow: hidden`. The height setting on .random.{LETTER} ensures that only the relevant labels are available at any given time. +Now to add some animation. + +```css +.random { + animation: 0.1s linear 0s infinite normal moving-button; +} + +@keyframes moving-button { + from { + transform: translateY(calc(-1 * var(--button-height))); + } + to { + transform: translateY(calc(var(--button-height) * -9)); + } +} +``` + +The `0.1s` duration means that it becomes difficult to predict where in the animation we are at. Here is a view of what it looks like currently. the translucent blue panels show the labels. + + + + +There are two problems with the current system. The first is that if you click down on a label, move your mouse to another label and then let go, nothing happens. The exact same thing occurs if the label moves away, which is very likely given how fast the animation is. The solution here is simple + + +```css +.random:hover { animation-play-state: paused; } +``` + +The other problem is that not each block is equally likely to be clicked. If you watch the video carefully you'll notice that the first and last labels spend less time covering the button. A hacky solution would be to make the first and last labels bigger, but this still means the top of the button would see the first label for longer than the bottom of the button. So instead, I added all the label again inside another div. + +```html + +
+ + +
+ + +
+
+ +``` + +By tweaking the animation slightly, we can ensure that only the top label inside `div.final` ever makes it to the button. And by putting the extras in a div, we can treat it as one object for the purposes of sizing. Another possible solution would have been to animate each section individually so it joins the end of the queue once it's done, allowing each label to fully cross the button without ever leaving a gap. But this didn't feel as clean. + +### Audio +If you've played the game you've probably noticed an audio easter egg. Before trying this I had thought that playing audio would require javascript to function, however the audio control works with javascript disabled at the browser level so I'm going to allow it. + +The audio controls has many buttons (for volume, downloading ect). In order to only make the play button accessible, we first wrap it in a div and then apply the following css. +```css +.div-around-audio { + height: 30px; + width: 30px; + border-radius: 20px; + overflow: hidden; +} + +audio { + position: absolute; + top: -11px; + left: -11px; +} +``` + +The key part is `overflow: hidden;` which ensures the overflow of the audio control cannot be interacted with, the rest of the values were determined by trial and error. + +And then the play button can be made invisible or placed behind an element that has `pointer-events: none;`, which allows clicks to pass through it. + +## Calculator Extension +Since making the calculator, the `has` has been introduced, which allows selecting parents based on children. In the calculator this could be used to avoid the excessive nesting. I also added basic trigonometric functions, for this I followed the below steps + +1. Use integer division (see previous post) to create a modulo function and map the input to between 0 and 2π +2. Use a bunch of maths and retries to map the input to a value between 0 and π/2 +3. Painfully implement the expansion series of trig functions +4. Realise that while I've been playing around with this, trig functions have been added the css spec +5. Question my life choices + +Given the advances in the css spec to add trigonometric and other mathematical functions, writing a full scientific calculator is further within reach. While I have not yet attempted this, a possible limitation is that the [css spec](https://www.w3.org/TR/css-values-3/#calc-syntax) only asks browsers to support up to 20 terms in a `calc`, and while I haven't seen this exact limit in action, the main browsers do give up after a certain amount of complexity. + +## FAQ + +#### When are you gonna stop? +Probably now + +#### Did you write this blog post just so you could say the words "Stochastic Boogaloo"? +No comment + +## Wrap up +While I was making this , there were many points at which I deemed something to be 'impossible'. Things like functioning decimals; an evenly distributed 'random' selector; and functioning audio seemed out of scope for rules and format I had chosen. But because I had the freedom to stop and think about this with no deadline, I was able to overcome the challenges. When working with practical problems, we are faced with real-world pressures and time limits and this can often leave us with an incomplete view of the true power of the tech we work with. I encourage anyone with an interest to explore the limits of a technology and the power of their creativity. Maybe this will help you in your day to day job, but I wouldn't suggest rewriting any of your webapps in css only. + + diff --git a/garora/assets/2024-04-23/icon.png b/garora/assets/2024-04-23/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..208ea995e7c5d3a4650366538419294b6c123ae5 GIT binary patch literal 30109 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 literal 0 HcmV?d00001 diff --git a/garora/assets/2024-04-23/random_labels.mp4 b/garora/assets/2024-04-23/random_labels.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..52ffbe5cf97768450d1d328fe959238a9e9a137a GIT binary patch literal 42343 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%0A{lddsdeTaL{`BA3PfT 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�Opq%S8`hGP{)g>_wA}21He*m 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 literal 0 HcmV?d00001 From 2280c5e47163ec7d79a8d6acd49d8d959331a2cc Mon Sep 17 00:00:00 2001 From: Jay Wright <90924187+JayWright31@users.noreply.github.com> Date: Mon, 22 Apr 2024 17:02:01 +0100 Subject: [PATCH 005/160] add second draft --- ...-19-measuring-energy-usage-in-the-cloud.md | 89 ++++++++++++++----- 1 file changed, 66 insertions(+), 23 deletions(-) diff --git a/_posts/2024-04-19-measuring-energy-usage-in-the-cloud.md b/_posts/2024-04-19-measuring-energy-usage-in-the-cloud.md index fb3c1df4f8..907ce5e01c 100644 --- a/_posts/2024-04-19-measuring-energy-usage-in-the-cloud.md +++ b/_posts/2024-04-19-measuring-energy-usage-in-the-cloud.md @@ -9,49 +9,92 @@ layout: default_post summary: A look into one approach to measuring energy consumption of CPU benchmarks on AWS. --- -Measuring energy consumption in the cloud is deceptively hard. You would think that the cloud providers, with their God-like omniscience, would be able to rustle up a chart or two. Alas this data remains frustratingly absent from most cloud providers’ reporting tools. As the world becomes more aware of the impending climate crisis, businesses that wish to keep an eye on their energy (and by extension carbon) impact are left at the mercy of their cloud provider to give them some kind of idea of how they’re doing. Often all that’s available is a generic carbon footprint report that, if you’re lucky, is updated once a month. +Measuring energy consumption in the cloud is deceptively hard. You would think that the cloud providers, with their God-like omniscience, would be able to rustle up a chart or two. Alas this data remains frustratingly absent from most cloud providers’ reporting tools. As the world becomes more aware of the impending climate crisis, businesses that wish to keep an eye on their energy (and by extension carbon) impact are left at the mercy of their cloud provider to give them some idea of how they’re doing. Often all that’s available is a generic carbon footprint report that, if you’re lucky, is updated once a month. -This blog post is one in a series of posts from an internal project undertaken here at Scott Logic. The aim of the project was to investigate the carbon footprint of mobile computation. A slight misnomer in that we’re also comparing mobile to the server. I won’t go into the actual results as that’s a topic for a different blog post. Instead I wanted to talk through the steps we took to solve the problem for our use case. +This blog post is one in a series of posts from an internal project undertaken here at Scott Logic. The aim of the project was to investigate the carbon footprint of mobile computation. A slight misnomer in that we’re also comparing mobile to the server. We won’t go into the actual results as that’s a topic for a different blog post. Instead we wanted to talk through the steps we took to solve the problem for our use case. -### What we were trying to solve +## Background -Before we could actually start building anything we needed to know what data we needed to capture or generate. I knew from the mobile apps the team had already built before I joined that we would be running some CPU benchmarks. Although the project has the words ‘carbon footprint’ in the name, the actual point of comparison between the three platforms (iOS, Androids, and the server) would be energy consumption. +By the time we started the server work, we already had mobile apps built for Android and iOS that could run the CPU benchmarks. To compare between mobile and server we needed to build a test harness to run the same benchmarks, and ideally using the same benchmark code. We also needed to work out a way of actually measuring or calculating the energy used. Despite the project name including the words ‘Carbon Footprint’ our actual point of comparison was energy consumption in watt hours (Wh). The simple reason being the carbon footprint is largely dependent on the source of the electricity so by measuring energy consumption we can more directly compare results. -So we needed some sort of test harness that could be deployed to the cloud (provider TBD) from which we could run these CPU benchmarks, record how long they take to complete, and calculate the energy consumption. Easy enough, right? +## Approaches considered but ultimately rejected -### Non Starters +As part of the research phase, there were a few potential approaches that were considered but ultimately rejected. The first was to use the carbon footprint report generated by GCP. The thought process was that we could take the final carbon footprint amount, given in kilograms of CO2 equivalent, and by making assumptions about the carbon intensity of the electricity, we could calculate the amount of energy used. It became clear quite quickly that this approach would not work. The unknowns started to pile up and we would have to make a lot of assumptions. Google helpfully, or unhelpfully depending on your point of view, includes embodied carbon emissions from the manufacture of the server components and the construction of the data centre buildings. We very quickly realised that the margin of error in our calculations would be too great to be meaningful. -Our first idea was to make use of the built in carbon footprint reporting tools. We determined that Google Cloud Platform (GCP) would be the best provider here. Our theory was we would be able to take the carbon footprint number, given in kilograms of CO2 equivalent, and calculate it back into a figure for energy used. However, after reading the white paper and diving into the GCP console it became clear that this approach would not work at all. There were too many unknowns about exactly how Google was calculating the carbon footprint, particularly the embodied carbon they were including. Also the report is generated monthly and is an aggregate across the services so this approach was swiftly shelved. +Another approach that was considered was to use the Etsy Cloud Jewel. This approach had more legs compared to the Carbon Footprint report option. Again at this point we were still considering using GCP. Ultimately we decided to dismiss this approach after finding a different one more suitable for our use case. -My background is primarily in AWS so while doing research into GCP I came across a blog post by Etsy on their Cloud Jewels. Truthfully, I think I found it by Googling something like “how to measure energy consumption on GCP”, a blatant shot in the dark hoping someone had already done the heavy lifting for me. The Cloud Jewel approach looked promising enough, although it still seemed a little too vague. For instance it assumes a figure of 2.1Wh per vCPU. Any vCPU, regardless of instance type. So that got moved to the back burner. It would be good enough if we couldn’t find anything else but we wanted to keep digging. +## Our Approach -Around the same time, our Principal Architect on the project pointed me in the direction of a post by Teads. They had created a carbon footprint estimator for AWS instances and helpfully had created a spreadsheet with energy figures for almost every instance. This was the data we needed. We would run the benchmarks, capture the CPU utilisation from CloudWatch, then use the Teads energy figures for the instance type we were using and the duration of the run to calculate energy. +Up until now we had been focusing on GCP solutions. However, since we were no longer considering the carbon footprint report idea there was no reason to stick with GCP so we expanded our search into solutions on AWS. -### Running Benchmarks +This leads us to our actual solution, based on the work done by Teads to build a carbon footprint calculator for AWS EC2 instances. As part of their research, they created a Google Sheets spreadsheet which happens to include energy consumption figures for almost every single EC2 instance. Helpfully, they include energy consumption at idle, 10%, 50%, and 100% loads for the whole instance, and CPU, GPU, and memory. By knowing these figures, and getting utilisation data from CloudWatch, we could estimate energy consumption. -Now armed with a rough idea of what to do it was time to start building. So that we could compare the server results to the mobile results we would need to implement the benchmarks in Java and Swift. I decided to start with Java as it’s a language I’m already familiar with. I decided to create a simple Java Spring Boot application that would act as the test runner. I created a REST controller from which we could select the benchmark to run, the complexity, and a number of iterations. That last part will become important when it comes to measuring the energy. +## Running Benchmarks -The benchmarks used were: +As previously mentioned, when work on the server started the benchmark apps for iOS and Android had already started to be built. This meant that there were already implementations of the benchmarks in Swift and Java. The benchmarks used for this project were: -- Fannkuch -- Mandelbrot -- Spectral +- Fannkuch (complexity of 12) +- Mandelbrot (complexity of 30,000) +- Spectral (complexity of 32,000) -I was able to lift the benchmark code directly from the Android app repo. +To get the best comparisons to mobile, we used the same benchmark code from mobile with the same complexity values. Now armed with a methodology for calculating energy and the benchmark codes, we started building the test harness. We knew we needed: -The test runner was Dockerised and ran on ECS using EC2. I started with the t2 instance family but the boosting ability meant that run durations weren’t consistent. I changed to an m4.large. This gave me 2 vCPU cores and 8GB of memory. The memory was somewhat irrelevant as utilisation never got higher than around 9.5%. The m4.large was fine until it came time to implement the WebAssembly versions of the benchmarks. For whatever reason the wasm binaries would refuse to run and exit with a 132 exit code. Changing to a more modern m6i.large instance fixed that. We were never able to get to the bottom of it. +1. A test harness that could start each benchmark +2. A way of deploying the test harness to AWS +3. A way of simplifying the creation and destruction of infrastructure +4. Some way of measuring utilisation and calculating energy consumption +5. The ability to run benchmarks in different languages -For Swift, rather than creating an entirely new test harness application, I was able to run it from the same Docker container as the Java benchmarks using another Spring REST controller and the Java ProcessBuilder API. +### Cloud Deployment -It was much the same story for WebAssembly. I included a WASM interpreter along with the benchmark binaries and again used the ProcessBuilder to run the benchmarks. +We knew we needed to be running on EC2 in order to use the Teads data. This basically leaves us with two options: Run on a standard EC2 instance or Dockerise and use ECS. We went with the latter. Either way would’ve been fine, but we found it easier to just build a docker image with all the bits (technical term) included and run it on EC2 instead of Fargate. The performance penalty was negligible. -### Measuring Energy +### Test Harness App -So what approach did we take? Because the Teads spreadsheet gave us energy figures for basically every instance, I figured I could write a simple method that would take the CPU utilisation data and estimate the energy consumption by comparing it to the Teads data. Better still, if I could integrate this into the test runner app all I would need to do is set the benchmarks away running and wait for the results. +With that sorted, attention turned to what our test harness app would actually look like. Given we were starting with Java we went with a very, very simple Spring Boot app consisting of little more than a REST controller and a couple of services. This meant we could start and configure each run from Postman with a command or two. It would also give us scope to include some sort of web UI if we wanted for a demo or ease of use. -Fortunately, because our test harness is a Java Spring application, that gives us the ability to use the AWS SDK for Java to programmatically get CPU utilisation metrics from CloudWatch. This presented a slight problem. CloudWatch utilisation data is an average of CPU utilisation for the last minute. If the benchmark doesn’t run for long enough, the CPU utilisation percentage won’t be accurate. To combat this there are two options: increase the complexity of the benchmark, or run lots of benchmarks consecutively. We needed to keep the complexity values consistent across runs on all platforms so that just left running consecutive benchmarks. +### Simplifying infrastructure provisioning -Having the energy calculation functionality built into the Java test harness was a big reason behind the decision to run the Swift and Wasm benchmarks from it. There are almost certainly better ways of doing it but we found this approach worked well for us. +To save money, and because our infrastructure doesn’t need to exist any longer than it takes to run the benchmarks, we would need to build up and tear it down a lot. To make our lives easier, and to ensure everything is consistent between builds, we used Terraform. We put together a simple deployment that included the bare minimum that was needed. Admittedly it wasn’t very robust and probably (definitely) not up to best practices but each deployment would only last for a couple of hours at most. Using Terraform was probably the single best decision taken. As an indication of how useful it was, there were over 50 revisions of the Task Definition alone. + +### EC2 Instances + +We started with t2.large instances. This gave us 2 vCPUs and 8GB of memory. Memory wasn’t really a concern for our purposes and our average utilisation reflects this. We maintained a pretty solid utilisation level of 9.5%. Having 2 vCPUs was more beneficial. Specifically, it highlighted the difference between the single threaded and multi threaded workloads. However, the T-series instances had one key disadvantage. They can boost. Now normally this would be a good thing but we needed to keep the run conditions as consistent as possible. A boosting instance would complete the benchmark in less time but our energy calculations couldn’t take this into consideration. + +Another downside to the T-series instances is they run on two different Intel CPU models, the Xeon E5-2676 V3 & Xeon E5-2686 V4. The V4 was able to complete a Spectral benchmark about 100 seconds faster than the V3. This was an issue as we couldn’t specify which model we wanted every time we built up the infrastructure and would sometimes have to terminate the instance a number of times before we got the model we needed. + +We switched to the M4 instance family, specifically m4.large. This provided stability in run times, albeit slightly longer due to lack of boosting. Although the AWS EC2 documentation lists two different CPU models for this instance type, our instances only ever used the Xeon E5-2686 V4, removing the CPU lottery problem we were having. + +M4’s worked fine for Java and Swift. However, for some reason that we were never fully able to explain, it didn’t pay nicely with our WebAssembly benchmarks. Every attempt to run them resulted in a 132 exit code. Eventually this was solved by changing the instance type to m6i.large. + +### Running benchmarks in other languages + +While the Java Spring app offered many benefits to simplifying our workflow for Java benchmarks, it did result in us effectively developing ourselves into a corner. When it came time to implement the Swift benchmarks we faced a dilemma. We could either rebuild our Java test harness to something that is Swift native (including all the energy calculation stuff which we will cover in the next section), or find some way of integrating it with the existing test runner. Ultimately we went with the latter. We took the raw benchmark code from the iOS app and bundled it into a simple Swift app. In our Dockerfile, we included a stage to copy the Swift app into the image, added a controller endpoint to our Spring app, and using the ProcessBuilder API created a service that allowed the Spring app to execute the Swift app. + +We took pretty much the same approach for the WebAssembly benchmarks. We included a WebAssembly interpreter and the WASM binaries in the image, created another endpoint, and used the ProcessBuilder API to create a service to execute the benchmarks. + +### Calculating Energy Consumption + +Our Teads spreadsheet from earlier gave us the following energy consumption values: + +|--- +| Instance | Component | Idle (Wh) | 10% (Wh) | 50% (Wh) | 100% (Wh) +|-|-|-|-|-|-| +| t2. large | CPU | 0.97 | 2.77 | 5.71 | 7.81 +| | Memory | 1.6 | 2.4 | 3.2 | 4.8 +| | Instance | 4.2 | 6.8 | 10.5 | 14.2 +| m4. large | CPU | 0.97 | 2.77 | 5.71 | 7.81 +| | Memory | 1.6 | 2.4 | 3.2 | 4.8 +| | Instance | 4.2 | 6.8 | 10.5 | 14.2 +| m6i. large | CPU | 1.09 | 2.98 | 7.05 | 9.55 +| | Memory | 1.6 | 2.4 | 3.2 | 4.8 +| | Instance | 4.6 | 7.3 | 12.1 | 16.2 + +We can see that the memory is the same for all instance types, and the CPU is identical for T2 and M4 which is understandable as both instance types use the same CPU models. + +As we alluded to earlier, we used the data in the table above as the basis for our energy calculations. To make the calculations more accurate we incorporated data from AWS CloudWatch metrics, specifically CPU utilisation. We also attempted to include a custom memory metric using the CloudWatch Agent but it was more of a pain to get it to work and it was inconsistent at best. + +Because our test harness was a Spring app we were able to use the AWS SDK for Java to programmatically retrieve utilisation metric data. The caveat being that because the data is updated every minute, and it is an average of the previous minute’s utilisation, the benchmarks needed to be running for several minutes in order to get accurate results. This can be achieved in two ways: increasing the complexity, or just running several benchmarks sequentially. Because we needed consistent data across platforms, the complexity number was fixed for each benchmark. So we opted to run benchmarks in collections and average the results. ### Potential Future Steps From 65e124209fc8a897a59a36736c09d498dccfb46f Mon Sep 17 00:00:00 2001 From: Jay Wright <90924187+JayWright31@users.noreply.github.com> Date: Mon, 22 Apr 2024 17:10:54 +0100 Subject: [PATCH 006/160] change table formatting --- _posts/2024-04-19-measuring-energy-usage-in-the-cloud.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/_posts/2024-04-19-measuring-energy-usage-in-the-cloud.md b/_posts/2024-04-19-measuring-energy-usage-in-the-cloud.md index 907ce5e01c..26a7f3e90f 100644 --- a/_posts/2024-04-19-measuring-energy-usage-in-the-cloud.md +++ b/_posts/2024-04-19-measuring-energy-usage-in-the-cloud.md @@ -81,14 +81,23 @@ Our Teads spreadsheet from earlier gave us the following energy consumption valu | Instance | Component | Idle (Wh) | 10% (Wh) | 50% (Wh) | 100% (Wh) |-|-|-|-|-|-| | t2. large | CPU | 0.97 | 2.77 | 5.71 | 7.81 +| |-|-|-|-|-| | | Memory | 1.6 | 2.4 | 3.2 | 4.8 +| |-|-|-|-|-| | | Instance | 4.2 | 6.8 | 10.5 | 14.2 +|-|-|-|-|-|-| | m4. large | CPU | 0.97 | 2.77 | 5.71 | 7.81 +| |-|-|-|-|-| | | Memory | 1.6 | 2.4 | 3.2 | 4.8 +| |-|-|-|-|-| | | Instance | 4.2 | 6.8 | 10.5 | 14.2 +|-|-|-|-|-|-| | m6i. large | CPU | 1.09 | 2.98 | 7.05 | 9.55 +| |-|-|-|-|-| | | Memory | 1.6 | 2.4 | 3.2 | 4.8 +| |-|-|-|-|-| | | Instance | 4.6 | 7.3 | 12.1 | 16.2 +|-|-|-|-|-|-| We can see that the memory is the same for all instance types, and the CPU is identical for T2 and M4 which is understandable as both instance types use the same CPU models. From a8496affba04d2893425d794dd8e6f15f9f0cb74 Mon Sep 17 00:00:00 2001 From: Jay Wright <90924187+JayWright31@users.noreply.github.com> Date: Mon, 22 Apr 2024 17:16:16 +0100 Subject: [PATCH 007/160] change table formatting --- ...04-19-measuring-energy-usage-in-the-cloud.md | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/_posts/2024-04-19-measuring-energy-usage-in-the-cloud.md b/_posts/2024-04-19-measuring-energy-usage-in-the-cloud.md index 26a7f3e90f..ec5f7420b2 100644 --- a/_posts/2024-04-19-measuring-energy-usage-in-the-cloud.md +++ b/_posts/2024-04-19-measuring-energy-usage-in-the-cloud.md @@ -77,27 +77,18 @@ We took pretty much the same approach for the WebAssembly benchmarks. We include Our Teads spreadsheet from earlier gave us the following energy consumption values: -|--- +|----- | Instance | Component | Idle (Wh) | 10% (Wh) | 50% (Wh) | 100% (Wh) |-|-|-|-|-|-| -| t2. large | CPU | 0.97 | 2.77 | 5.71 | 7.81 -| |-|-|-|-|-| +| t2.large | CPU | 0.97 | 2.77 | 5.71 | 7.81 | | Memory | 1.6 | 2.4 | 3.2 | 4.8 -| |-|-|-|-|-| | | Instance | 4.2 | 6.8 | 10.5 | 14.2 -|-|-|-|-|-|-| -| m4. large | CPU | 0.97 | 2.77 | 5.71 | 7.81 -| |-|-|-|-|-| +| m4.large | CPU | 0.97 | 2.77 | 5.71 | 7.81 | | Memory | 1.6 | 2.4 | 3.2 | 4.8 -| |-|-|-|-|-| | | Instance | 4.2 | 6.8 | 10.5 | 14.2 -|-|-|-|-|-|-| -| m6i. large | CPU | 1.09 | 2.98 | 7.05 | 9.55 -| |-|-|-|-|-| +| m6i.large | CPU | 1.09 | 2.98 | 7.05 | 9.55 | | Memory | 1.6 | 2.4 | 3.2 | 4.8 -| |-|-|-|-|-| | | Instance | 4.6 | 7.3 | 12.1 | 16.2 -|-|-|-|-|-|-| We can see that the memory is the same for all instance types, and the CPU is identical for T2 and M4 which is understandable as both instance types use the same CPU models. From 925eb0e4e1d8443fbe680a8a094746f22d8fc3cd Mon Sep 17 00:00:00 2001 From: Jay Wright <90924187+JayWright31@users.noreply.github.com> Date: Mon, 22 Apr 2024 17:21:50 +0100 Subject: [PATCH 008/160] change table formatting --- ...-19-measuring-energy-usage-in-the-cloud.md | 23 +++++++++---------- 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/_posts/2024-04-19-measuring-energy-usage-in-the-cloud.md b/_posts/2024-04-19-measuring-energy-usage-in-the-cloud.md index ec5f7420b2..3386592cb4 100644 --- a/_posts/2024-04-19-measuring-energy-usage-in-the-cloud.md +++ b/_posts/2024-04-19-measuring-energy-usage-in-the-cloud.md @@ -77,18 +77,17 @@ We took pretty much the same approach for the WebAssembly benchmarks. We include Our Teads spreadsheet from earlier gave us the following energy consumption values: -|----- -| Instance | Component | Idle (Wh) | 10% (Wh) | 50% (Wh) | 100% (Wh) -|-|-|-|-|-|-| -| t2.large | CPU | 0.97 | 2.77 | 5.71 | 7.81 -| | Memory | 1.6 | 2.4 | 3.2 | 4.8 -| | Instance | 4.2 | 6.8 | 10.5 | 14.2 -| m4.large | CPU | 0.97 | 2.77 | 5.71 | 7.81 -| | Memory | 1.6 | 2.4 | 3.2 | 4.8 -| | Instance | 4.2 | 6.8 | 10.5 | 14.2 -| m6i.large | CPU | 1.09 | 2.98 | 7.05 | 9.55 -| | Memory | 1.6 | 2.4 | 3.2 | 4.8 -| | Instance | 4.6 | 7.3 | 12.1 | 16.2 +| Instance | Component | Idle (Wh) | 10% (Wh) | 50% (Wh) | 100% (Wh) | +| --------- | --------- | --------- | -------- | -------- | --------- | +| t2.large | CPU | 0.97 | 2.77 | 5.71 | 7.81 | +| | Memory | 1.6 | 2.4 | 3.2 | 4.8 | +| | Instance | 4.2 | 6.8 | 10.5 | 14.2 | +| m4.large | CPU | 0.97 | 2.77 | 5.71 | 7.81 | +| | Memory | 1.6 | 2.4 | 3.2 | 4.8 | +| | Instance | 4.2 | 6.8 | 10.5 | 14.2 | +| m6i.large | CPU | 1.09 | 2.98 | 7.05 | 9.55 | +| | Memory | 1.6 | 2.4 | 3.2 | 4.8 | +| | Instance | 4.6 | 7.3 | 12.1 | 16.2 | We can see that the memory is the same for all instance types, and the CPU is identical for T2 and M4 which is understandable as both instance types use the same CPU models. From fbe5a1457b0c00c9a665a9febd55d9e05ee59816 Mon Sep 17 00:00:00 2001 From: Jay Wright <90924187+JayWright31@users.noreply.github.com> Date: Wed, 24 Apr 2024 11:22:31 +0100 Subject: [PATCH 009/160] update post --- ...-19-measuring-energy-usage-in-the-cloud.md | 22 +++++++++++++------ 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/_posts/2024-04-19-measuring-energy-usage-in-the-cloud.md b/_posts/2024-04-19-measuring-energy-usage-in-the-cloud.md index 3386592cb4..e05a127401 100644 --- a/_posts/2024-04-19-measuring-energy-usage-in-the-cloud.md +++ b/_posts/2024-04-19-measuring-energy-usage-in-the-cloud.md @@ -9,9 +9,11 @@ layout: default_post summary: A look into one approach to measuring energy consumption of CPU benchmarks on AWS. --- -Measuring energy consumption in the cloud is deceptively hard. You would think that the cloud providers, with their God-like omniscience, would be able to rustle up a chart or two. Alas this data remains frustratingly absent from most cloud providers’ reporting tools. As the world becomes more aware of the impending climate crisis, businesses that wish to keep an eye on their energy (and by extension carbon) impact are left at the mercy of their cloud provider to give them some idea of how they’re doing. Often all that’s available is a generic carbon footprint report that, if you’re lucky, is updated once a month. +Businesses today want to keep an eye on their carbon emissions and do their bit to help the climate crisis and so they need to understand and reduce all their emissions including those from cloud computing. -This blog post is one in a series of posts from an internal project undertaken here at Scott Logic. The aim of the project was to investigate the carbon footprint of mobile computation. A slight misnomer in that we’re also comparing mobile to the server. We won’t go into the actual results as that’s a topic for a different blog post. Instead we wanted to talk through the steps we took to solve the problem for our use case. +You might imagine that the cloud providers with their omniscient observability would be able to provide accurate, real time carbon and energy reporting to each of their customers. Unfortunately they don’t. There’s basic reporting of carbon but it’s inconsistent across providers and often lags behind by several weeks, if not months. This means it’s fine for doing annual reports but it can be frustratingly hard for customers to see if there’s any meaningful change from tweeks to their infrastructure. This blog explains how we got around it. + +This blog is one in a series from an internal project undertaken here at Scott Logic. The aim of the project was to investigate the carbon footprint of running code on mobile devices vs the server. We won’t go into the actual results as that’s a topic for a different blog post. Instead we wanted to talk through the steps we took to solve the problem for our use case. ## Background @@ -19,15 +21,17 @@ By the time we started the server work, we already had mobile apps built for And ## Approaches considered but ultimately rejected -As part of the research phase, there were a few potential approaches that were considered but ultimately rejected. The first was to use the carbon footprint report generated by GCP. The thought process was that we could take the final carbon footprint amount, given in kilograms of CO2 equivalent, and by making assumptions about the carbon intensity of the electricity, we could calculate the amount of energy used. It became clear quite quickly that this approach would not work. The unknowns started to pile up and we would have to make a lot of assumptions. Google helpfully, or unhelpfully depending on your point of view, includes embodied carbon emissions from the manufacture of the server components and the construction of the data centre buildings. We very quickly realised that the margin of error in our calculations would be too great to be meaningful. +As part of the research phase, there were a few potential approaches that were considered but ultimately rejected. + +The first was to use the carbon footprint report generated by GCP. Rather than test all cloud providers from the start we decided to go with GCP as we believed the carbon report would give us the information we needed. Our hypothesis was that we could take the carbon footprint amount, given in kilograms of CO2 equivalent, and by making assumptions about the carbon intensity of the electricity, we could calculate the amount of energy used. It became clear quite quickly that this approach would not work. The unknowns started to pile up and we would have to make a lot of assumptions. Google helpfully, or unhelpfully depending on your point of view, includes embodied carbon emissions from the manufacture of the server components and the construction of the data centre buildings as part of the report. Unfortunately there is no way of separating the carbon that is embodied from the carbon that is a result of electricity generation. We very quickly realised that the margin of error in our calculations would be too great to be meaningful. -Another approach that was considered was to use the Etsy Cloud Jewel. This approach had more legs compared to the Carbon Footprint report option. Again at this point we were still considering using GCP. Ultimately we decided to dismiss this approach after finding a different one more suitable for our use case. +Another approach that was considered was to use the [Etsy Cloud Jewel](https://www.etsy.com/codeascraft/cloud-jewels-estimating-kwh-in-the-cloud). This approach had more legs compared to the GCP Carbon Footprint report option. Again at this point we were still considering using GCP. Ultimately we decided to dismiss this approach after finding a different one more suitable for our use case. ## Our Approach Up until now we had been focusing on GCP solutions. However, since we were no longer considering the carbon footprint report idea there was no reason to stick with GCP so we expanded our search into solutions on AWS. -This leads us to our actual solution, based on the work done by Teads to build a carbon footprint calculator for AWS EC2 instances. As part of their research, they created a Google Sheets spreadsheet which happens to include energy consumption figures for almost every single EC2 instance. Helpfully, they include energy consumption at idle, 10%, 50%, and 100% loads for the whole instance, and CPU, GPU, and memory. By knowing these figures, and getting utilisation data from CloudWatch, we could estimate energy consumption. +This leads us to our actual solution, [based on the work done by Teads](https://medium.com/teads-engineering/building-an-aws-ec2-carbon-emissions-dataset-3f0fd76c98ac) to build a carbon footprint calculator for AWS EC2 instances. As part of their research, they created a [Google Sheets spreadsheet](https://docs.google.com/spreadsheets/d/1DqYgQnEDLQVQm5acMAhLgHLD8xXCG9BIrk-_Nv6jF3k/edit#gid=504755275) which happens to include energy consumption figures for almost every single EC2 instance. Helpfully, they include energy consumption at idle, 10%, 50%, and 100% loads for the whole instance, and CPU, GPU, and memory. By knowing these figures, and getting utilisation data from CloudWatch, we could estimate energy consumption. ## Running Benchmarks @@ -37,7 +41,9 @@ As previously mentioned, when work on the server started the benchmark apps for - Mandelbrot (complexity of 30,000) - Spectral (complexity of 32,000) -To get the best comparisons to mobile, we used the same benchmark code from mobile with the same complexity values. Now armed with a methodology for calculating energy and the benchmark codes, we started building the test harness. We knew we needed: +To get the best comparisons to mobile, we used the same benchmark code from mobile with the same complexity values. Complexity is an integer number that is supplied as an argument to the benchmark functions that affects memory and CPU. The higher the complexity value, the harder the calculations become and therefore the more resources and time they take. + +Now armed with a methodology for calculating energy and the benchmark codes, we started building the test harness. We knew we needed: 1. A test harness that could start each benchmark 2. A way of deploying the test harness to AWS @@ -63,7 +69,7 @@ We started with t2.large instances. This gave us 2 vCPUs and 8GB of memory. Memo Another downside to the T-series instances is they run on two different Intel CPU models, the Xeon E5-2676 V3 & Xeon E5-2686 V4. The V4 was able to complete a Spectral benchmark about 100 seconds faster than the V3. This was an issue as we couldn’t specify which model we wanted every time we built up the infrastructure and would sometimes have to terminate the instance a number of times before we got the model we needed. -We switched to the M4 instance family, specifically m4.large. This provided stability in run times, albeit slightly longer due to lack of boosting. Although the AWS EC2 documentation lists two different CPU models for this instance type, our instances only ever used the Xeon E5-2686 V4, removing the CPU lottery problem we were having. +We switched to the M4 instance family, specifically m4.large. This provided stability in run times, albeit slightly longer due to lack of boosting. Although the [AWS EC2 documentation](https://aws.amazon.com/ec2/instance-types/) lists two different CPU models for this instance type, our instances only ever used the Xeon E5-2686 V4, removing the CPU lottery problem we were having. M4’s worked fine for Java and Swift. However, for some reason that we were never fully able to explain, it didn’t pay nicely with our WebAssembly benchmarks. Every attempt to run them resulted in a 132 exit code. Eventually this was solved by changing the instance type to m6i.large. @@ -89,6 +95,8 @@ Our Teads spreadsheet from earlier gave us the following energy consumption valu | | Memory | 1.6 | 2.4 | 3.2 | 4.8 | | | Instance | 4.6 | 7.3 | 12.1 | 16.2 | +Source: [Teads Engineering](https://engineering.teads.com/) + We can see that the memory is the same for all instance types, and the CPU is identical for T2 and M4 which is understandable as both instance types use the same CPU models. As we alluded to earlier, we used the data in the table above as the basis for our energy calculations. To make the calculations more accurate we incorporated data from AWS CloudWatch metrics, specifically CPU utilisation. We also attempted to include a custom memory metric using the CloudWatch Agent but it was more of a pain to get it to work and it was inconsistent at best. From 027308013524c976295a325769440d51affdc183 Mon Sep 17 00:00:00 2001 From: Jay Wright <90924187+JayWright31@users.noreply.github.com> Date: Wed, 24 Apr 2024 12:09:18 +0100 Subject: [PATCH 010/160] small changes --- ...-19-measuring-energy-usage-in-the-cloud.md | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/_posts/2024-04-19-measuring-energy-usage-in-the-cloud.md b/_posts/2024-04-19-measuring-energy-usage-in-the-cloud.md index e05a127401..2c0d8fc9be 100644 --- a/_posts/2024-04-19-measuring-energy-usage-in-the-cloud.md +++ b/_posts/2024-04-19-measuring-energy-usage-in-the-cloud.md @@ -17,7 +17,7 @@ This blog is one in a series from an internal project undertaken here at Scott L ## Background -By the time we started the server work, we already had mobile apps built for Android and iOS that could run the CPU benchmarks. To compare between mobile and server we needed to build a test harness to run the same benchmarks, and ideally using the same benchmark code. We also needed to work out a way of actually measuring or calculating the energy used. Despite the project name including the words ‘Carbon Footprint’ our actual point of comparison was energy consumption in watt hours (Wh). The simple reason being the carbon footprint is largely dependent on the source of the electricity so by measuring energy consumption we can more directly compare results. +By the time we started the server work, we already had mobile apps in development for Android and iOS that could run the chosen CPU benchmarks. To compare between mobile and server we needed to build a test harness to run the same benchmarks, and ideally using the same benchmark code. We also needed to work out a way of actually measuring or calculating the energy used. Despite the project name including the words ‘Carbon Footprint’ our actual point of comparison was energy consumption in watt hours (Wh). The simple reason being the carbon footprint is largely dependent on the source of the electricity so by measuring energy consumption we can more directly compare results. ## Approaches considered but ultimately rejected @@ -83,17 +83,17 @@ We took pretty much the same approach for the WebAssembly benchmarks. We include Our Teads spreadsheet from earlier gave us the following energy consumption values: -| Instance | Component | Idle (Wh) | 10% (Wh) | 50% (Wh) | 100% (Wh) | -| --------- | --------- | --------- | -------- | -------- | --------- | -| t2.large | CPU | 0.97 | 2.77 | 5.71 | 7.81 | -| | Memory | 1.6 | 2.4 | 3.2 | 4.8 | -| | Instance | 4.2 | 6.8 | 10.5 | 14.2 | -| m4.large | CPU | 0.97 | 2.77 | 5.71 | 7.81 | -| | Memory | 1.6 | 2.4 | 3.2 | 4.8 | -| | Instance | 4.2 | 6.8 | 10.5 | 14.2 | -| m6i.large | CPU | 1.09 | 2.98 | 7.05 | 9.55 | -| | Memory | 1.6 | 2.4 | 3.2 | 4.8 | -| | Instance | 4.6 | 7.3 | 12.1 | 16.2 | +| Instance | Component | Idle (W) | 10% (W) | 50% (W) | 100% (W) | +| --------- | --------- | -------- | ------- | ------- | -------- | +| t2.large | CPU | 0.97 | 2.77 | 5.71 | 7.81 | +| | Memory | 1.6 | 2.4 | 3.2 | 4.8 | +| | Instance | 4.2 | 6.8 | 10.5 | 14.2 | +| m4.large | CPU | 0.97 | 2.77 | 5.71 | 7.81 | +| | Memory | 1.6 | 2.4 | 3.2 | 4.8 | +| | Instance | 4.2 | 6.8 | 10.5 | 14.2 | +| m6i.large | CPU | 1.09 | 2.98 | 7.05 | 9.55 | +| | Memory | 1.6 | 2.4 | 3.2 | 4.8 | +| | Instance | 4.6 | 7.3 | 12.1 | 16.2 | Source: [Teads Engineering](https://engineering.teads.com/) From 53b22dcf516c882d8bcf79ebb944a3c94a4ee94e Mon Sep 17 00:00:00 2001 From: Jay Wright <90924187+JayWright31@users.noreply.github.com> Date: Wed, 24 Apr 2024 15:51:05 +0100 Subject: [PATCH 011/160] add profile pic --- _data/authors.yml | 1 + jcwright/picture.jpg | Bin 0 -> 168314 bytes 2 files changed, 1 insertion(+) create mode 100644 jcwright/picture.jpg diff --git a/_data/authors.yml b/_data/authors.yml index 73b05a5364..a5bf8dd831 100644 --- a/_data/authors.yml +++ b/_data/authors.yml @@ -478,6 +478,7 @@ authors: jcwright: name: "Jay Wright" author-summary: "

I'm a developer at Scott Logic, based in Newcastle. My primary interest is in backend development, primarily in Java, and cloud technologies. I also have experience building web applications in React.

\n

Away from work I'm a keen petrol head and avid Formula One fan. I support McLaren, in case you were wondering.

" + picture: picture.jpg jdunkerley: author-summary: "

I am a Technical Architect at Scott Logic, based in London. I have many years of using C# within financial services. My current interests are in data analytics and visualisation, particularly using Tableau and Alteryx. I also enjoying learning about new big data technologies and machine learning.

" name: "James Dunkerley" diff --git a/jcwright/picture.jpg b/jcwright/picture.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a8fc3e72de8dd4c7d664f1e6edb230ff6a9163aa GIT binary patch literal 168314 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

Lw((!~_qCT8D>AROdL~YbtxC~sn;d8A- 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 Y-^IE~LC*Nwi*b)g70v(><$tsP4`kzO=>Px# literal 0 HcmV?d00001 From 7b8232ff98152c9abd5a2cc51f5a68a49725cfd1 Mon Sep 17 00:00:00 2001 From: Jay Wright <90924187+JayWright31@users.noreply.github.com> Date: Wed, 24 Apr 2024 15:53:11 +0100 Subject: [PATCH 012/160] update post date --- ...oud.md => 2024-04-24-measuring-energy-usage-in-the-cloud.md} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename _posts/{2024-04-19-measuring-energy-usage-in-the-cloud.md => 2024-04-24-measuring-energy-usage-in-the-cloud.md} (99%) diff --git a/_posts/2024-04-19-measuring-energy-usage-in-the-cloud.md b/_posts/2024-04-24-measuring-energy-usage-in-the-cloud.md similarity index 99% rename from _posts/2024-04-19-measuring-energy-usage-in-the-cloud.md rename to _posts/2024-04-24-measuring-energy-usage-in-the-cloud.md index 2c0d8fc9be..f0237cef5e 100644 --- a/_posts/2024-04-19-measuring-energy-usage-in-the-cloud.md +++ b/_posts/2024-04-24-measuring-energy-usage-in-the-cloud.md @@ -1,6 +1,6 @@ --- title: Measuring energy consumption in the cloud -date: 2024-04-19 00:00:00 Z +date: 2024-04-24 00:00:00 Z categories: - jcwright - Sustainability From ec82025f12f26f3575555a222d1a7de189b5002c Mon Sep 17 00:00:00 2001 From: Jay Wright <90924187+JayWright31@users.noreply.github.com> Date: Thu, 25 Apr 2024 10:31:54 +0100 Subject: [PATCH 013/160] add links to other blog posts --- _posts/2024-04-24-measuring-energy-usage-in-the-cloud.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_posts/2024-04-24-measuring-energy-usage-in-the-cloud.md b/_posts/2024-04-24-measuring-energy-usage-in-the-cloud.md index f0237cef5e..3404079c0c 100644 --- a/_posts/2024-04-24-measuring-energy-usage-in-the-cloud.md +++ b/_posts/2024-04-24-measuring-energy-usage-in-the-cloud.md @@ -13,11 +13,11 @@ Businesses today want to keep an eye on their carbon emissions and do their bit You might imagine that the cloud providers with their omniscient observability would be able to provide accurate, real time carbon and energy reporting to each of their customers. Unfortunately they don’t. There’s basic reporting of carbon but it’s inconsistent across providers and often lags behind by several weeks, if not months. This means it’s fine for doing annual reports but it can be frustratingly hard for customers to see if there’s any meaningful change from tweeks to their infrastructure. This blog explains how we got around it. -This blog is one in a series from an internal project undertaken here at Scott Logic. The aim of the project was to investigate the carbon footprint of running code on mobile devices vs the server. We won’t go into the actual results as that’s a topic for a different blog post. Instead we wanted to talk through the steps we took to solve the problem for our use case. +This blog is one in a series from an internal project undertaken here at Scott Logic. The aim of the project was to investigate the carbon footprint of running code on mobile devices vs the server. We won’t go into the actual results as that’s a topic for a [different blog post]({{ site.github.url }}/blog/2024/04/24/battle-of-the-carbon.html). Instead we wanted to talk through the steps we took to solve the problem for our use case. ## Background -By the time we started the server work, we already had mobile apps in development for Android and iOS that could run the chosen CPU benchmarks. To compare between mobile and server we needed to build a test harness to run the same benchmarks, and ideally using the same benchmark code. We also needed to work out a way of actually measuring or calculating the energy used. Despite the project name including the words ‘Carbon Footprint’ our actual point of comparison was energy consumption in watt hours (Wh). The simple reason being the carbon footprint is largely dependent on the source of the electricity so by measuring energy consumption we can more directly compare results. +By the time we started the server work, we already had mobile apps in development for [Android]({{ site.github.url }}/blog/2024/04/12/measuring-android-energy-use.html) and iOS that could run the chosen CPU benchmarks. To compare between mobile and server we needed to build a test harness to run the same benchmarks, and ideally using the same benchmark code. We also needed to work out a way of actually measuring or calculating the energy used. Despite the project name including the words ‘Carbon Footprint’ our actual point of comparison was energy consumption in watt hours (Wh). The simple reason being the carbon footprint is largely dependent on the source of the electricity so by measuring energy consumption we can more directly compare results. ## Approaches considered but ultimately rejected From 42a3325db27084fec542457004c4cf904bc7c1c9 Mon Sep 17 00:00:00 2001 From: Jay Wright <90924187+JayWright31@users.noreply.github.com> Date: Thu, 25 Apr 2024 11:28:07 +0100 Subject: [PATCH 014/160] slight rewording for clarity --- ...2024-04-24-measuring-energy-usage-in-the-cloud.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/_posts/2024-04-24-measuring-energy-usage-in-the-cloud.md b/_posts/2024-04-24-measuring-energy-usage-in-the-cloud.md index 3404079c0c..0a710b8b31 100644 --- a/_posts/2024-04-24-measuring-energy-usage-in-the-cloud.md +++ b/_posts/2024-04-24-measuring-energy-usage-in-the-cloud.md @@ -23,7 +23,7 @@ By the time we started the server work, we already had mobile apps in developmen As part of the research phase, there were a few potential approaches that were considered but ultimately rejected. -The first was to use the carbon footprint report generated by GCP. Rather than test all cloud providers from the start we decided to go with GCP as we believed the carbon report would give us the information we needed. Our hypothesis was that we could take the carbon footprint amount, given in kilograms of CO2 equivalent, and by making assumptions about the carbon intensity of the electricity, we could calculate the amount of energy used. It became clear quite quickly that this approach would not work. The unknowns started to pile up and we would have to make a lot of assumptions. Google helpfully, or unhelpfully depending on your point of view, includes embodied carbon emissions from the manufacture of the server components and the construction of the data centre buildings as part of the report. Unfortunately there is no way of separating the carbon that is embodied from the carbon that is a result of electricity generation. We very quickly realised that the margin of error in our calculations would be too great to be meaningful. +The first was to use the carbon footprint report generated by GCP. Rather than test all cloud providers from the start we decided to go with GCP as we believed the carbon report would give us the information we needed. Our hypothesis was that we could take the carbon footprint amount, given in kilograms of CO2 equivalent, and by making assumptions about the carbon intensity of the electricity, we could calculate the amount of energy used. It became clear quite quickly that this approach would not work. The unknowns started to pile up and we would have to make a lot of assumptions. But really the biggest issue was that the report is only generated monthly. We needed a better solution, so our search continues. Another approach that was considered was to use the [Etsy Cloud Jewel](https://www.etsy.com/codeascraft/cloud-jewels-estimating-kwh-in-the-cloud). This approach had more legs compared to the GCP Carbon Footprint report option. Again at this point we were still considering using GCP. Ultimately we decided to dismiss this approach after finding a different one more suitable for our use case. @@ -53,11 +53,11 @@ Now armed with a methodology for calculating energy and the benchmark codes, we ### Cloud Deployment -We knew we needed to be running on EC2 in order to use the Teads data. This basically leaves us with two options: Run on a standard EC2 instance or Dockerise and use ECS. We went with the latter. Either way would’ve been fine, but we found it easier to just build a docker image with all the bits (technical term) included and run it on EC2 instead of Fargate. The performance penalty was negligible. +We knew we needed to be running on EC2 in order to use the Teads data. This basically leaves us with two options: Run on a standard EC2 instance or Dockerise and use ECS. We went with the latter. Either way would’ve been fine, but we found it easier to just build a docker image with all the bits (technical term) included and run it on ECS, using EC2 for compute instead of Fargate. The performance penalty was negligible. ### Test Harness App -With that sorted, attention turned to what our test harness app would actually look like. Given we were starting with Java we went with a very, very simple Spring Boot app consisting of little more than a REST controller and a couple of services. This meant we could start and configure each run from Postman with a command or two. It would also give us scope to include some sort of web UI if we wanted for a demo or ease of use. +With that sorted, attention turned to what our test harness app would actually look like. Given we were starting with Java we went with a very, _very_ simple Spring Boot app consisting of little more than a REST controller and a couple of services. This meant we could start and configure each run from Postman with a simple GET request rather than messing around with SSH. It would also give us scope to include some sort of web UI if we no longer wanted to use Postman. ### Simplifying infrastructure provisioning @@ -65,13 +65,13 @@ To save money, and because our infrastructure doesn’t need to exist any longer ### EC2 Instances -We started with t2.large instances. This gave us 2 vCPUs and 8GB of memory. Memory wasn’t really a concern for our purposes and our average utilisation reflects this. We maintained a pretty solid utilisation level of 9.5%. Having 2 vCPUs was more beneficial. Specifically, it highlighted the difference between the single threaded and multi threaded workloads. However, the T-series instances had one key disadvantage. They can boost. Now normally this would be a good thing but we needed to keep the run conditions as consistent as possible. A boosting instance would complete the benchmark in less time but our energy calculations couldn’t take this into consideration. +We started with t2.large instances. This gave us 2 vCPUs and 8GB of memory. Memory wasn’t really a concern for our purposes and our average utilisation reflects this. We maintained a pretty solid utilisation level of 9.5%. Having 2 vCPUs was beneficial. Specifically, it highlighted the difference between the single threaded and multi threaded workloads. However, the T-series instances had one key disadvantage for us. They can boost. Now normally this would be a good thing but we needed to keep the run conditions as consistent as possible. Because the boosting is based on CPU tokens and is an automated process, we couldn't control for it. This meant we were seeing inconsistancies in our run times. -Another downside to the T-series instances is they run on two different Intel CPU models, the Xeon E5-2676 V3 & Xeon E5-2686 V4. The V4 was able to complete a Spectral benchmark about 100 seconds faster than the V3. This was an issue as we couldn’t specify which model we wanted every time we built up the infrastructure and would sometimes have to terminate the instance a number of times before we got the model we needed. +Another downside to the T-series instances is they run on two different Intel CPU models, the Xeon E5-2676 V3 & Xeon E5-2686 V4. The V4 was able to complete a Spectral benchmark about 100 seconds faster than the V3. This was an issue as we couldn’t specify which model we wanted every time we built up the infrastructure and would sometimes have to terminate the instance a number of times before we got the model we needed. Again, consistency was an issue here. We switched to the M4 instance family, specifically m4.large. This provided stability in run times, albeit slightly longer due to lack of boosting. Although the [AWS EC2 documentation](https://aws.amazon.com/ec2/instance-types/) lists two different CPU models for this instance type, our instances only ever used the Xeon E5-2686 V4, removing the CPU lottery problem we were having. -M4’s worked fine for Java and Swift. However, for some reason that we were never fully able to explain, it didn’t pay nicely with our WebAssembly benchmarks. Every attempt to run them resulted in a 132 exit code. Eventually this was solved by changing the instance type to m6i.large. +M4’s worked fine for Java and Swift. However, for some reason that we were never fully able to explain, it didn’t pay nicely with our WebAssembly benchmarks. Every attempt to run them resulted in a 132 exit code. Eventually this was solved by changing the instance type to m6i.large. Admittedly going with M4 was probably a mistake. Hindsight being 20/20, we should've just gone with the newest instance we had Teads data for from the beginning. It would've saved a lot of time. ### Running benchmarks in other languages From d9a3d9d05a581a49cbf3ff181696cf3597912b02 Mon Sep 17 00:00:00 2001 From: Gurveer Arora Date: Mon, 22 Apr 2024 10:09:20 +0100 Subject: [PATCH 015/160] garora: noJS2 fix syntax --- ... 2024-04-25-noJS-2-stochastic-boogaloo.md} | 101 +++++++++--------- 1 file changed, 51 insertions(+), 50 deletions(-) rename _posts/{2024-04-23-noJS-2-stochastic-boogaloo.md => 2024-04-25-noJS-2-stochastic-boogaloo.md} (61%) diff --git a/_posts/2024-04-23-noJS-2-stochastic-boogaloo.md b/_posts/2024-04-25-noJS-2-stochastic-boogaloo.md similarity index 61% rename from _posts/2024-04-23-noJS-2-stochastic-boogaloo.md rename to _posts/2024-04-25-noJS-2-stochastic-boogaloo.md index 93cef58d77..f1711bb010 100644 --- a/_posts/2024-04-23-noJS-2-stochastic-boogaloo.md +++ b/_posts/2024-04-25-noJS-2-stochastic-boogaloo.md @@ -1,14 +1,15 @@ +--- author: garora -title: NoJS 2':' Stochastic Boogaloo - Making a tic-tac-toe game with 'randomness' using pure HTML and CSS +title: NoJS 2 - Stochastic Boogaloo. Making a tic-tac-toe game with 'randomness' using pure HTML and CSS. Without Javascript! categories: - Tech layout: default_post -summary: Everyone loves CSS! Continuing in my obsession, I have created a tictactoe game, with an option to have a CPU that plays randomly. This was made without any javascript, only used HTML and CSS. In this blog post I discuss how I made it +summary: Everyone loves CSS! Continuing in my obsession, I have created a tictactoe game, with an option to have a CPU that plays randomly. This was made without any javascript, only HTML and CSS. In this blog post I discuss how I made it category: Tech -image: garora/assets/2024-06-26/icon.png +image: garora/assets/2024-04-25/icon.png --- -This is part two to [this post](https://blog.scottlogic.com/2022/01/20/noJS-making-a-calculator-in-pure-css-html.html) where I explain how I made this pure CSS [calculator](https://quarknerd.github.io/noJS/calc.html). Next up I made [tictactoe](), which isn't in itself that an interesting extension, but the challenge came in adding a CPU to play "randomly". In this blog post I ~~make a case for my sanity~~ explain how I made it. +This is part two to [this post](https://blog.scottlogic.com/2022/01/20/noJS-making-a-calculator-in-pure-css-html.html) where I explain how I made this pure CSS [calculator](https://quarknerd.github.io/noJS/calc.html). Next up I made [tictactoe](https://quarknerd.github.io/noJS/tictactoe/), which isn't in itself that interesting of an extension, but the challenge came in adding a CPU to play "randomly". In this blog post I make a case for my sanity explain how I made it. ## Rules The only thing I wrote was html and css. No HAML or SCSS or any other pre-processors. The no javascript is enforced by testing the app with javascript disabled by the browser. You can view my full codebase [here](https://github.com/QuarkNerd/noJS/). @@ -20,7 +21,7 @@ In my previous blog post, I've explained how we can use radio buttons and labels Start off by creating the inputs -```html +~~~html

@@ -28,22 +29,22 @@ Start off by creating the inputs -``` +~~~ Then each square of the game looks something like this -```html +~~~html
-``` +~~~ The first thing we need to do is ensure that the only label that can be clicked is the one corresponding to who's turn it is. We do this with -```css +~~~css body:has(input:checked), body:has(input[id^="X"]:checked ~ input[id^="X"]:checked), /* more selectors for 3, 4 and 5 Xs*/ @@ -63,13 +64,13 @@ The first thing we need to do is ensure that the only label that can be clicked transform: scale(var(--has-x-just-played)); } -``` +~~~ -The first 2 rulesets are used to a variable based on how many X's and O's have been selected. The `has` operator is a relatively new one. It allows you select parents based on children or select previous siblings based on upcoming siblings. In this case, the variable `--has-x-just-played` is always applied to the `body` element, this allows us to avoid a lot of nesting. The final ruleset hides any `label` connected to an O `input` when it is X's turn, so that the only clickable `label` is for X. +The first 2 rulesets are used to set a variable based on how many X's and O's have been selected. The `has` operator is a relatively new one. It allows you select parents based on children or select previous siblings based on upcoming siblings. In this case, the variable `--has-x-just-played` is always applied to the `body` element, this allows us to avoid a lot of nesting and duplication of elements. The final ruleset hides any `label` connected to an O `input` when it is X's turn, so that the only clickable `label` is for X. -The simplest bit of the css logic is displaying the symbols, by default we set all symbols to `display: none` and then +The simplest bit of the css in this app is displaying the symbols, by default we set all symbols to `display: none` and then -```css +~~~css /* display logic */ body:has(#X-1:checked) .board-square-1 .symbol-X, body:has(#X-2:checked) .board-square-2 .symbol-X, @@ -79,14 +80,11 @@ The simplest bit of the css logic is displaying the symbols, by default we set a { display: block; } -``` - -This rule could be simplified by moving each pair of `input`s to just before the corresponding square. That way the selectors could be made relative and only 2 would be needed. However I prefer to keep all inputs tightly together, this also makes the endgame logic slightly more concise. +~~~ -Now we need some endgame logic +This rule could be simplified by moving each pair of `input`s to just before the corresponding square. That way the selectors could be made relative and only 2 would be needed. However I prefer to keep all inputs tightly together, this also makes the endgame logic slightly more concise. Which looks like this -NOTE_TO_REVIEWER - DOES THIS PART NEED MORE EXPLAING? TODO -```css +~~~css body:has(input[id^="X"]:nth-of-type(3n-2):checked + input:checked + input:checked), /* rows */ body:has(input[id^="X"]:checked + * + * + input:checked + * + * + input[id^="X"]:checked), /* columns */ body:has(input#X-1:checked ~ input#X-5:checked ~ input#X-9:checked), /* top-left to bottom-right diagonal */ @@ -111,14 +109,14 @@ body { --is-O-to-play: calc(var(--is-game-on)*var(--has-x-just-played)); } -``` +~~~ -Using the new variables `--has-X-won`, `--has-O-won` and `--has-drawn` we can display the result of the game. We can also change the O `label` scaling logic above to use `--is-O-to-play` and add an equivalent ruleset for X, so that the label become hidden when the game is over. A little bit of html and css is needed to move the squares into the right location, but there is nothing special here so I will skip over it. +Using the new variables `--has-X-won`, `--has-O-won` and `--has-drawn` we can display the result of the game. We can also change the O `label` scaling logic above to use `--is-O-to-play` and add an equivalent ruleset for X, so that the label become hidden when the game is over. A little bit of html and css is needed to move the squares into the right location, but there is nothing special there. ### Random -Now for the real fun part, how to create a ~~sophisticated AI~~ bot to play in an evenly distributed 'random' manner. For this we first create extra labels for all of the locations (for X and O). They will be placed behind a `div` that will act as a `button`. If we animate the labels and make them invisible, the user will not be able to know which label is currently under the button. +Now for the real fun part, how to create a sophisticated AI bot to play in an evenly distributed 'random' manner. For this we first create extra labels for all of the locations (for X and O). They will be placed behind a `div` that will act as a `button`. If we animate the labels and make them invisible, the user will not be able to know which label is currently under the button. -```html +~~~html
Random @@ -129,13 +127,14 @@ Now for the real fun part, how to create a ~~sophisticated AI~~ bot to play in a
-``` +~~~ The css looks like -```css +~~~css .random.O { - display: grid; + display: flex; + flex-direction: column; height: calc(var(--button-height) * 9 * var(--is-O-to-play)); } /* repeat for "X random" */ @@ -143,6 +142,7 @@ The css looks like .random label { display: block; width: var(--button-width); + flex-grow: 1; } .random-button-holder { @@ -153,12 +153,12 @@ The css looks like .button { height: var(--button-height); } -``` +~~~ -At this point, what we have is a "button" with the word Random. The labels are inaccessible due to the `overflow: hidden`. The height setting on .random.{LETTER} ensures that only the relevant labels are available at any given time. +What we have is a "button" with the word Random. The labels are inaccessible due to the `overflow: hidden`. The height setting on .random.{LETTER} ensures that only the relevant labels are sized at any given time. Now to add some animation. -```css +~~~css .random { animation: 0.1s linear 0s infinite normal moving-button; } @@ -171,26 +171,26 @@ Now to add some animation. transform: translateY(calc(var(--button-height) * -9)); } } -``` +~~~ The `0.1s` duration means that it becomes difficult to predict where in the animation we are at. Here is a view of what it looks like currently. the translucent blue panels show the labels. -

sw8gUb@R=^Ed;G)B)1nKeZ42nsr)IgW+zu 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 N002ovPDHLkV1gN_9~b}t literal 0 HcmV?d00001 From 063d593a08a3179ebafae652b961a2309742e5f8 Mon Sep 17 00:00:00 2001 From: "slinsley@scottlogic.com" Date: Fri, 3 May 2024 10:36:38 +0100 Subject: [PATCH 028/160] Updated Knowledge Graphs What Are They and 1 other file From 36baeb3697359e15a146c9bb680e6d01edf1ebce Mon Sep 17 00:00:00 2001 From: "slinsley@scottlogic.com" Date: Fri, 3 May 2024 11:44:55 +0100 Subject: [PATCH 029/160] Updated Guide Don T Let Testing Be A Bottleneck --- _posts/2018-03-05-guide-don-t-let-testing-be-a-bottleneck.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/_posts/2018-03-05-guide-don-t-let-testing-be-a-bottleneck.md b/_posts/2018-03-05-guide-don-t-let-testing-be-a-bottleneck.md index e43bf2dae4..f8205940c3 100644 --- a/_posts/2018-03-05-guide-don-t-let-testing-be-a-bottleneck.md +++ b/_posts/2018-03-05-guide-don-t-let-testing-be-a-bottleneck.md @@ -17,9 +17,6 @@ summary: Testing can become a bottleneck within an agile delivery pipeline, resu quality. author: lpisani image: lpisani/assets/agile.png -cta: - link: https://www.scottlogic.com/wp-content/uploads/2018/04/Dont-let-test-be-a-bottleneck_Scott_Logic.pdf - text: Download the guide now layout: default_post --- From 123626faaffa5387cb0294f46e359cf050571fe0 Mon Sep 17 00:00:00 2001 From: "slinsley@scottlogic.com" Date: Fri, 3 May 2024 11:45:26 +0100 Subject: [PATCH 030/160] Updated Guide Don T Let Testing Be A Bottleneck From 3ae6c3cf0f93e1c0b142ae863b53e76037b0fc84 Mon Sep 17 00:00:00 2001 From: "slinsley@scottlogic.com" Date: Fri, 3 May 2024 11:59:04 +0100 Subject: [PATCH 031/160] Updated Has Your Project Hit The Buffers --- _posts/2019-11-15-has-your-project-hit-the-buffers.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/_posts/2019-11-15-has-your-project-hit-the-buffers.md b/_posts/2019-11-15-has-your-project-hit-the-buffers.md index ef7594b6ad..7ce9792d8d 100644 --- a/_posts/2019-11-15-has-your-project-hit-the-buffers.md +++ b/_posts/2019-11-15-has-your-project-hit-the-buffers.md @@ -6,16 +6,17 @@ categories: - Delivery tags: - project -- recovery, -- delivery, +- recovery +- '' +- delivery - rescue -author: mphillips -layout: default_post summary: When a project goes off the rails, the question becomes how to get delivery back on track, or even whether to cancel the project entirely. Here at Scott Logic, we have many years of experience helping businesses to recover projects and I wanted to share some insights from that experience. +author: mphillips image: mphillips/assets/Project-Rescue-image.jpg +layout: default_post --- ## An independent review might help get it back on track @@ -44,7 +45,7 @@ Diagnosis often means digging deep to get to the root causes. The skill is combi ## (Re-)Focus on business value -The business value that was the original objective of the project can often be overshadowed and obscured as the focus shifts to the complexities of delivery. When building a recovery plan, it’s critical to focus again on delivering real business value, not simply the perceived solution. By applying this perspective and a degree of rigour, the areas of highest priority will become clear – along with what can be left out. [Evidence-Based Management](https://www.scottlogic.com/what-we-do/agile-and-devops/) (EBM) is one way to remove some of the emotion from these decisions and help ensure this focus on value. +The business value that was the original objective of the project can often be overshadowed and obscured as the focus shifts to the complexities of delivery. When building a recovery plan, it’s critical to focus again on delivering real business value, not simply the perceived solution. By applying this perspective and a degree of rigour, the areas of highest priority will become clear – along with what can be left out. Evidence-Based Management(EBM) is one way to remove some of the emotion from these decisions and help ensure this focus on value. ## How Scott Logic can help From f3543a56a77c38ed1cd928937493b8fea3404d50 Mon Sep 17 00:00:00 2001 From: "slinsley@scottlogic.com" Date: Fri, 3 May 2024 11:59:56 +0100 Subject: [PATCH 032/160] Updated Has Your Project Hit The Buffers From c905b3d198212a3fbd08b60d07acd1cb1851d2d4 Mon Sep 17 00:00:00 2001 From: Will McKenzie Date: Tue, 7 May 2024 09:52:49 +0100 Subject: [PATCH 033/160] WIP - adding post on BunJS --- _posts/2024-05-03-bunjs-a-fast-rising-star.md | 109 ++++++++++++++++++ 1 file changed, 109 insertions(+) create mode 100644 _posts/2024-05-03-bunjs-a-fast-rising-star.md diff --git a/_posts/2024-05-03-bunjs-a-fast-rising-star.md b/_posts/2024-05-03-bunjs-a-fast-rising-star.md new file mode 100644 index 0000000000..0c37a6bbb5 --- /dev/null +++ b/_posts/2024-05-03-bunjs-a-fast-rising-star.md @@ -0,0 +1,109 @@ +--- +title: BunJS - A fast-rising star? +date: 2023-05-03 00:00:00 Z +categories: +- Tech +tags: +- javascript +- typescript +- NodeJS +- BunJS +author: wmckenzie +summary: A festive look at the latest challenger to NodeJS's throne +--- + +Last year I attended the Infobip Shift conference where I saw a talk by Tejas Kumar on “[New Trends in Front-End Development](https://www.youtube.com/watch?v=VINfWbaFBVs&list=PLuAItjWV4peETEf336UJKvDsI5RWbshUa&index=31&pp=iAQB)”. In his talk, he demoed building and running a new QwikJS app using Bun instead of Node. I’d been hearing lots of talk about Bun, particularly on the Bytes email blast but hadn’t had a chance to properly check it out so I was particularly interested in seeing how it did. + +BunJS is billed as “a fast Javascript all-in-one toolkit”... they’re definitely not lying about the fast part! When he first ran the command to start the app up my colleague and I both looked at each other in amazement and commented “Wow that was fast” (content edited for a PG rating). There wasn’t much more discussed about Bun in the talk, the focus was more on Qwik and it’s approach to Signals, and how that compared to other frameworks (a topic for another time), but it had definitely piqued my interest. + +The problem I was struggling to solve was; “What can I use this on?”. Our client work would be an ideal candidate, we certainly saw issues with NodeJs slowness that Bun definitely had the potential to help with, however in the world of Fintech new and fancy also means unknown and risky and adopting new tech can be a hard case to make. + +Then we got to October, and to my eternal annoyance Christmas stuff started appearing in the shops (thankfully no Mariah yet), and, despite myself, I started thinking about Christmas things, and more specifically… [Advent of Code](https://adventofcode.com/). For those currently sitting scratching their heads, Advent of Code is a global series of coding challenges, one a day from the start of December until Christmas Day, set by [Eric Wastl](http://was.tl/), which I took part in for the first time the year before. I’d managed a respectable 6th place on the Scott Logic leaderboard and a slightly better 5th place on the client leaderboard. This year I was hoping to improve on that. + +Last year’s efforts I’d written in Python, as a way of keeping my hand in. For the most part, it worked fine but some of the more intensive data processing challenges were painfully slow to run, despite my best efforts at optimising, to the point where, having confirmed that we were basically running the same algorithm, I was using my line manager’s Rust versions to get the final answers. Suffice to say, this year I needed something better. I’d been considering writing in Rust, both because of its obvious performance advantage, and because I’d like to get better at Rust, but my lack of familiarity, combined with the knowledge that the faster you solve the puzzle the more points you get, was giving me trepidation… was BunJS a possible solution? More research was needed! + +I decided to take my existing solutions from last year and convert them to Typescript, then benchmark them against the Python versions, and while I was at it, why not compare NodeJS running the same code? The results... were surprising: + +### Python + +| Day | Data Prep | Task 1 | Task2 | Total | +|-----|-----------|------------|-------------|-------------| +| 1 | 0.59104 | 0.026226 | 0.014067 | 2.149105 | +| 2 | 0.028133 | 1.204967 | 1.235008 | 4.741907 | +| 3 | 0.030041 | 0.657082 | 0.361919 | 3.296137 | +| 4 | 2.193928 | 0.67997 | 0.469923 | 5.463839 | +| 5 | 0.016212 | 1.994848 | 1.372814 | 4.484892 | +| 6 | 0.022173 | 1.035929 | 3.088236 | 5.753994 | +| 7 | 4.172087 | 0.031948 | 0.022173 | 5.908966 | +| 8 | 3.004313 | 321.163893 | 40.660143 | 366.266966 | +| 9 | 1.01018 | 19.140959 | 94.997644 | 117.190838 | +| 10 | 0.48995 | 0.012875 | 0.025272 | 1.455069 | +| 11 | 0.086069 | 3.18408 | 1076.185703 | 1080.979347 | +| 12 | 26.124954 | 74.841022 | 31.799793 | 136.190891 | +| 13 | 2.291918 | 0.602007 | 7.067204 | 11.980057 | +| 14 | 0.017166 | 130.05209 | 4916.393042 | 5048.125029 | +| 15 | 0.709772 | 2228.88422 | | | +| 16 | 0.299931 | 749.699831 | 1292.188883 | 2043.264866 | + +### BunJS + +| Day | Data Prep | Task 1 | Task 2 | Total | +|-----|-----------|-------------|-------------|-------------| +| 1 | 1.748967 | 0.142928 | 0.064925 | 2.786357 | +| 2 | 0.026083 | 1.908292 | 1.064129 | 4.41491 | +| 3 | 0.035062 | 2.974646 | 0.745375 | 5.382629 | +| 4 | 1.745684 | 0.886423 | 0.464507 | 3.764245 | +| 5 | 0.038483 | 1.613605 | 0.883742 | 2.792149 | +| 6 | 0.025973 | 5.399242 | 8.93851 | 16.523445 | +| 7 | 0.57537 | 1.07013 | 0.146887 | 7.837843 | +| 8 | 1.536062 | 30.79651 | 3.468016 | 38.804612 | +| 9 | 1.916143 | 8.321198 | 29.577421 | 43.114606 | +| 10 | 0.775073 | 1.29945 | 0.113532 | 5.466702 | +| 11 | 0.517007 | 4.528253 | 86.598141 | 94.108958 | +| 12 | 1.629051 | 23.098499 | 19.713756 | 45.934121 | +| 13 | 1.008153 | 1.562735 | 2.420872 | 6.93212 | +| 14 | 0.039913 | 70.777261 | 921.215483 | 994.024702 | +| 15 | 1.284169 | 3502.799146 | 4108.788668 | 7615.049725 | +| 16 | 1.619275 | 109.284153 | 3671.563318 | 3784.52568 | + +### BunJS via NPM + +| Day | Data Prep | Task 1 | Task 2 | Total | +|-----|-----------|-------------|-------------|-------------| +| 1 | 1.156204 | 0.089815 | 0.02905 | 1.631001 | +| 2 | 0.025971 | 2.06866 | 1.543709 | 6.21064 | +| 3 | 0.089616 | 3.850746 | 1.354451 | 7.656712 | +| 4 | 2.646188 | 2.037947 | 0.918084 | 7.897617 | +| 5 | 0.072775 | 9.743062 | 1.911554 | 16.088883 | +| 6 | 0.036151 | 5.491488 | 7.819929 | 18.103653 | +| 7 | 4.972701 | 1.376042 | 0.244659 | 9.505551 | +| 8 | 0.872446 | 33.272144 | 3.167168 | 40.410787 | +| 9 | 1.563592 | 7.83241 | 22.543755 | 34.60378 | +| 10 | 1.146802 | 1.070616 | 0.11946 | 5.535451 | +| 11 | 0.697809 | 5.676932 | 94.388937 | 104.639425 | +| 12 | 1.428591 | 21.896529 | 27.058339 | 52.025615 | +| 13 | 1.310323 | 1.974011 | 3.208853 | 11.825741 | +| 14 | 0.030868 | 66.630601 | 931.044371 | 1000.180086 | +| 15 | 0.866335 | 3703.212977 | 4071.893487 | 7779.582651 | +| 16 | 1.041401 | 92.635882 | 3561.743567 | 3657.851725 | + +### NodeJS + +| Day | Data Prep | Task 1 | Task 2 | Total | +|-----|---------------|--------------|---------------|-------------| +| 1 | 0.6326570511 | 0.7726178169 | 0.09186601639 | 4.036453962 | +| 2 | 0.06083703041 | 3.081161022 | 2.736801147 | 8.797230959 | +| 3 | 0.0717959404 | 1.395604134 | 0.8155229092 | 4.395972967 | +| 4 | 2.967746973 | 1.262831926 | 0.6106090546 | 6.88043499 | +| 5 | 0.03186917305 | 1.607506037 | 0.8835170269 | 4.430343866 | +| 6 | 0.03769493103 | 1.477972984 | 4.335619926 | 7.83961606 | +| 7 | 4.268946886 | 0.8105518818 | 0.1285278797 | 7.313599825 | +| 8 | 0.965007782 | 24.61702394 | 7.036854982 | 35.49565005 | +| 9 | 1.430613995 | 7.346641064 | 19.90986896 | 30.65957308 | +| 10 | 0.7217030525 | 0.5553958416 | 0.4496278763 | 4.492933035 | +| 11 | 0.2193989754 | 2.270998001 | 49.84459496 | 55.24138713 | +| 12 | 2.225651026 | 40.98382688 | 25.68456006 | 70.81108499 | +| 13 | 0.8755860329 | 0.8597660065 | 1.65435195 | 5.230237007 | +| 14 | 0.04812097549 | 71.35918212 | 1641.818351 | 1717.190493 | +| 15 | 1.681344032 | 5801.378749 | 3748.3283 | 9553.386698 | +| 16 | 0.5565521717 | 285.5421021 | 3415.973495 | 3704.117316 | \ No newline at end of file From 9bb636a5f23dfa8fad645e1faaa4fc5cc3b0ae7b Mon Sep 17 00:00:00 2001 From: Jay Wright <90924187+JayWright31@users.noreply.github.com> Date: Wed, 8 May 2024 11:24:27 +0100 Subject: [PATCH 034/160] address PR changes --- _posts/2024-05-02-measuring-energy-usage-in-the-cloud.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/_posts/2024-05-02-measuring-energy-usage-in-the-cloud.md b/_posts/2024-05-02-measuring-energy-usage-in-the-cloud.md index 5de0f30d32..f4d56d808f 100644 --- a/_posts/2024-05-02-measuring-energy-usage-in-the-cloud.md +++ b/_posts/2024-05-02-measuring-energy-usage-in-the-cloud.md @@ -6,7 +6,7 @@ categories: - Sustainability author: jcwright layout: default_post -summary: A look into one approach to measuring energy consumption of CPU benchmarks on AWS. +summary: This is the second blog from our internal project looking at the Carbon Footprint of Mobile Computation. In it we reveal how we got around the problem of how to measure energy consumption on AWS, and how we built a test harness in Java to run our benchmarks. --- Businesses today want to keep an eye on their carbon emissions and do their bit to help the climate crisis and so they need to understand and reduce all their emissions including those from cloud computing. @@ -25,7 +25,7 @@ As part of the research phase, there were a few potential approaches that were c The first was to use the carbon footprint report generated by GCP. Rather than test all cloud providers from the start we decided to go with GCP as we believed the carbon report would give us the information we needed. Our hypothesis was that we could take the carbon footprint amount, given in kilograms of CO2 equivalent, and by making assumptions about the carbon intensity of the electricity, we could calculate the amount of energy used. It became clear quite quickly that this approach would not work. The unknowns started to pile up and we would have to make a lot of assumptions. But really the biggest issue was that the report is only generated monthly. We needed a better solution, so our search continues. -Another approach that was considered was to use the [Etsy Cloud Jewel](https://www.etsy.com/codeascraft/cloud-jewels-estimating-kwh-in-the-cloud). This approach had more legs compared to the GCP Carbon Footprint report option. Again at this point we were still considering using GCP. Ultimately we decided to dismiss this approach after finding a different one more suitable for our use case. +Another approach that was considered was to use the [Etsy Cloud Jewels](https://www.etsy.com/codeascraft/cloud-jewels-estimating-kwh-in-the-cloud) methodology. This approach had more legs compared to the GCP Carbon Footprint report option. Again at this point we were still considering using GCP. Ultimately we decided to dismiss this approach after finding a different one more suitable for our use case. ## Our Approach @@ -75,7 +75,9 @@ M4’s worked fine for Java and Swift. However, for some reason that we were nev ### Running benchmarks in other languages -While the Java Spring app offered many benefits to simplifying our workflow for Java benchmarks, it did result in us effectively developing ourselves into a corner. When it came time to implement the Swift benchmarks we faced a dilemma. We could either rebuild our Java test harness to something that is Swift native (including all the energy calculation stuff which we will cover in the next section), or find some way of integrating it with the existing test runner. Ultimately we went with the latter. We took the raw benchmark code from the iOS app and bundled it into a simple Swift app. In our Dockerfile, we included a stage to copy the Swift app into the image, added a controller endpoint to our Spring app, and using the ProcessBuilder API created a service that allowed the Spring app to execute the Swift app. +While the Java Spring app offered many benefits to simplifying our workflow for Java benchmarks, it did result in us effectively developing ourselves into a corner. When it came time to implement the Swift benchmarks we faced a dilemma. We could either rebuild our Java test harness to something that is Swift native (including all the energy calculation stuff which we will cover in the next section), or find some way of integrating it with the existing test runner. + +Ultimately we went with the latter. We took the raw benchmark code from the iOS app and bundled it into a simple Swift app. In our Dockerfile, we included a stage to copy the Swift app into the image, added a controller endpoint to our Spring app, and using the ProcessBuilder API created a service that allowed the Spring app to execute the Swift app. We took pretty much the same approach for the WebAssembly benchmarks. We included a WebAssembly interpreter and the WASM binaries in the image, created another endpoint, and used the ProcessBuilder API to create a service to execute the benchmarks. From 786c2e4cb16902f59d07548d16ec75948249497b Mon Sep 17 00:00:00 2001 From: Jay Wright <90924187+JayWright31@users.noreply.github.com> Date: Wed, 8 May 2024 11:26:29 +0100 Subject: [PATCH 035/160] update post date --- ...oud.md => 2024-05-08-measuring-energy-usage-in-the-cloud.md} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename _posts/{2024-05-02-measuring-energy-usage-in-the-cloud.md => 2024-05-08-measuring-energy-usage-in-the-cloud.md} (99%) diff --git a/_posts/2024-05-02-measuring-energy-usage-in-the-cloud.md b/_posts/2024-05-08-measuring-energy-usage-in-the-cloud.md similarity index 99% rename from _posts/2024-05-02-measuring-energy-usage-in-the-cloud.md rename to _posts/2024-05-08-measuring-energy-usage-in-the-cloud.md index f4d56d808f..b9e49f1643 100644 --- a/_posts/2024-05-02-measuring-energy-usage-in-the-cloud.md +++ b/_posts/2024-05-08-measuring-energy-usage-in-the-cloud.md @@ -1,6 +1,6 @@ --- title: Measuring energy consumption in the cloud -date: 2024-05-02 00:00:00 Z +date: 2024-05-08 00:00:00 Z categories: - jcwright - Sustainability From 084cf11191f5249a8f60edd86daac1fc287230a6 Mon Sep 17 00:00:00 2001 From: Jay Wright <90924187+JayWright31@users.noreply.github.com> Date: Wed, 8 May 2024 11:44:36 +0100 Subject: [PATCH 036/160] spelling mistakes --- _posts/2024-05-08-measuring-energy-usage-in-the-cloud.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/_posts/2024-05-08-measuring-energy-usage-in-the-cloud.md b/_posts/2024-05-08-measuring-energy-usage-in-the-cloud.md index b9e49f1643..88d20c74b5 100644 --- a/_posts/2024-05-08-measuring-energy-usage-in-the-cloud.md +++ b/_posts/2024-05-08-measuring-energy-usage-in-the-cloud.md @@ -11,7 +11,7 @@ summary: This is the second blog from our internal project looking at the Carbon Businesses today want to keep an eye on their carbon emissions and do their bit to help the climate crisis and so they need to understand and reduce all their emissions including those from cloud computing. -You might imagine that the cloud providers with their omniscient observability would be able to provide accurate, real time carbon and energy reporting to each of their customers. Unfortunately they don’t. There’s basic reporting of carbon but it’s inconsistent across providers and often lags behind by several weeks, if not months. This means it’s fine for doing annual reports but it can be frustratingly hard for customers to see if there’s any meaningful change from tweeks to their infrastructure. This blog explains how we got around it. +You might imagine that the cloud providers with their omniscient observability would be able to provide accurate, real time carbon and energy reporting to each of their customers. Unfortunately they don’t. There’s basic reporting of carbon but it’s inconsistent across providers and often lags behind by several weeks, if not months. This means it’s fine for doing annual reports but it can be frustratingly hard for customers to see if there’s any meaningful change from tweaks to their infrastructure. This blog explains how we got around it. This blog is one in a series from an internal project undertaken here at Scott Logic. The aim of the project was to investigate the carbon footprint of running code on mobile devices vs the server. We won’t go into the actual results as that’s a topic for a different blog post. Instead we wanted to talk through the steps we took to solve the problem for our use case. @@ -43,7 +43,7 @@ As previously mentioned, when work on the server started the benchmark apps for To get the best comparisons to mobile, we used the same benchmark code from mobile with the same complexity values. Complexity is an integer number that is supplied as an argument to the benchmark functions that affects memory and CPU. The higher the complexity value, the harder the calculations become and therefore the more resources and time they take. -Now armed with a methodology for calculating energy and the benchmark codes, we started building the test harness. We knew we needed: +Now armed with a methodology for calculating energy and the benchmark code, we started building the test harness. We knew we needed: 1. A test harness that could start each benchmark 2. A way of deploying the test harness to AWS @@ -65,13 +65,13 @@ To save money, and because our infrastructure doesn’t need to exist any longer ### EC2 Instances -We started with t2.large instances. This gave us 2 vCPUs and 8GB of memory. Memory wasn’t really a concern for our purposes and our average utilisation reflects this. We maintained a pretty solid utilisation level of 9.5%. Having 2 vCPUs was beneficial. Specifically, it highlighted the difference between the single threaded and multi threaded workloads. However, the T-series instances had one key disadvantage for us. They can boost. Now normally this would be a good thing but we needed to keep the run conditions as consistent as possible. Because the boosting is based on CPU tokens and is an automated process, we couldn't control for it. This meant we were seeing inconsistancies in our run times. +We started with t2.large instances. This gave us 2 vCPUs and 8GB of memory. Memory wasn’t really a concern for our purposes and our average utilisation reflects this. We maintained a pretty solid utilisation level of 9.5%. Having 2 vCPUs was beneficial. Specifically, it highlighted the difference between the single threaded and multi threaded workloads. However, the T-series instances had one key disadvantage for us. They can boost. Now normally this would be a good thing but we needed to keep the run conditions as consistent as possible. Because the boosting is based on CPU tokens and is an automated process, we couldn't control for it. This meant we were seeing inconsistencies in our run times. Another downside to the T-series instances is they run on two different Intel CPU models, the Xeon E5-2676 V3 & Xeon E5-2686 V4. The V4 was able to complete a Spectral benchmark about 100 seconds faster than the V3. This was an issue as we couldn’t specify which model we wanted every time we built up the infrastructure and would sometimes have to terminate the instance a number of times before we got the model we needed. Again, consistency was an issue here. We switched to the M4 instance family, specifically m4.large. This provided stability in run times, albeit slightly longer due to lack of boosting. Although the [AWS EC2 documentation](https://aws.amazon.com/ec2/instance-types/) lists two different CPU models for this instance type, our instances only ever used the Xeon E5-2686 V4, removing the CPU lottery problem we were having. -M4’s worked fine for Java and Swift. However, for some reason that we were never fully able to explain, it didn’t pay nicely with our WebAssembly benchmarks. Every attempt to run them resulted in a 132 exit code. Eventually this was solved by changing the instance type to m6i.large. Admittedly going with M4 was probably a mistake. Hindsight being 20/20, we should've just gone with the newest instance we had Teads data for from the beginning. It would've saved a lot of time. +M4’s worked fine for Java and Swift. However, for some reason that we were never fully able to explain, it didn’t play nicely with our WebAssembly benchmarks. Every attempt to run them resulted in a 132 exit code. Eventually this was solved by changing the instance type to m6i.large. Admittedly going with M4 was probably a mistake. Hindsight being 20/20, we should've just gone with the newest instance we had Teads data for from the beginning. It would've saved a lot of time. ### Running benchmarks in other languages From 0a75bfbbcca1358f17679f528fdb975dda73195a Mon Sep 17 00:00:00 2001 From: OiNutter Date: Wed, 8 May 2024 12:00:20 +0100 Subject: [PATCH 037/160] add results and finish first draft --- _posts/2024-05-03-bunjs-a-fast-rising-star.md | 141 ++++++------------ 1 file changed, 49 insertions(+), 92 deletions(-) diff --git a/_posts/2024-05-03-bunjs-a-fast-rising-star.md b/_posts/2024-05-03-bunjs-a-fast-rising-star.md index 0c37a6bbb5..217a4a6f8d 100644 --- a/_posts/2024-05-03-bunjs-a-fast-rising-star.md +++ b/_posts/2024-05-03-bunjs-a-fast-rising-star.md @@ -1,109 +1,66 @@ --- title: BunJS - A fast-rising star? -date: 2023-05-03 00:00:00 Z +date: 2024-05-03 00:00:00 Z categories: -- Tech + - Tech tags: -- javascript -- typescript -- NodeJS -- BunJS + - javascript + - typescript + - NodeJS + - BunJS author: wmckenzie summary: A festive look at the latest challenger to NodeJS's throne --- -Last year I attended the Infobip Shift conference where I saw a talk by Tejas Kumar on “[New Trends in Front-End Development](https://www.youtube.com/watch?v=VINfWbaFBVs&list=PLuAItjWV4peETEf336UJKvDsI5RWbshUa&index=31&pp=iAQB)”. In his talk, he demoed building and running a new QwikJS app using Bun instead of Node. I’d been hearing lots of talk about Bun, particularly on the Bytes email blast but hadn’t had a chance to properly check it out so I was particularly interested in seeing how it did. +## A trip down memory lane... + +Last year I attended the Infobip Shift conference, where I saw a talk by Tejas Kumar on “[New Trends in Front-End Development](https://www.youtube.com/watch?v=VINfWbaFBVs&list=PLuAItjWV4peETEf336UJKvDsI5RWbshUa&index=31&pp=iAQB)”. In his talk, he demoed building and running a new QwikJS app using Bun instead of Node. I’d been hearing lots of talk about Bun, particularly on the Bytes email blast but hadn’t had a chance to properly check it out so I was particularly interested in seeing how it did. BunJS is billed as “a fast Javascript all-in-one toolkit”... they’re definitely not lying about the fast part! When he first ran the command to start the app up my colleague and I both looked at each other in amazement and commented “Wow that was fast” (content edited for a PG rating). There wasn’t much more discussed about Bun in the talk, the focus was more on Qwik and it’s approach to Signals, and how that compared to other frameworks (a topic for another time), but it had definitely piqued my interest. -The problem I was struggling to solve was; “What can I use this on?”. Our client work would be an ideal candidate, we certainly saw issues with NodeJs slowness that Bun definitely had the potential to help with, however in the world of Fintech new and fancy also means unknown and risky and adopting new tech can be a hard case to make. +The problem I was struggling to solve was; “What can I use this on?”. Our client work would be an ideal candidate, we certainly saw issues with NodeJs slowness that Bun definitely had the potential to help with, however in the world of Fintech new and fancy also means unknown and risky and adopting new tech can be a hard case to make. -Then we got to October, and to my eternal annoyance Christmas stuff started appearing in the shops (thankfully no Mariah yet), and, despite myself, I started thinking about Christmas things, and more specifically… [Advent of Code](https://adventofcode.com/). For those currently sitting scratching their heads, Advent of Code is a global series of coding challenges, one a day from the start of December until Christmas Day, set by [Eric Wastl](http://was.tl/), which I took part in for the first time the year before. I’d managed a respectable 6th place on the Scott Logic leaderboard and a slightly better 5th place on the client leaderboard. This year I was hoping to improve on that. +Then we got to October, and, to my eternal annoyance, Christmas stuff started appearing in the shops (thankfully no Mariah yet), and, despite myself, I started thinking about Christmas things, and more specifically… [Advent of Code](https://adventofcode.com/). For those currently sitting scratching their heads, Advent of Code is a global series of coding challenges, one a day from the start of December until Christmas Day, set by [Eric Wastl](http://was.tl/), which I took part in for the first time the year before. I’d managed a respectable 6th place on the Scott Logic leaderboard and a slightly better 5th place on the client leaderboard. This year I was hoping to improve on that. +## Formulating a plan Last year’s efforts I’d written in Python, as a way of keeping my hand in. For the most part, it worked fine but some of the more intensive data processing challenges were painfully slow to run, despite my best efforts at optimising, to the point where, having confirmed that we were basically running the same algorithm, I was using my line manager’s Rust versions to get the final answers. Suffice to say, this year I needed something better. I’d been considering writing in Rust, both because of its obvious performance advantage, and because I’d like to get better at Rust, but my lack of familiarity, combined with the knowledge that the faster you solve the puzzle the more points you get, was giving me trepidation… was BunJS a possible solution? More research was needed! I decided to take my existing solutions from last year and convert them to Typescript, then benchmark them against the Python versions, and while I was at it, why not compare NodeJS running the same code? The results... were surprising: -### Python - -| Day | Data Prep | Task 1 | Task2 | Total | -|-----|-----------|------------|-------------|-------------| -| 1 | 0.59104 | 0.026226 | 0.014067 | 2.149105 | -| 2 | 0.028133 | 1.204967 | 1.235008 | 4.741907 | -| 3 | 0.030041 | 0.657082 | 0.361919 | 3.296137 | -| 4 | 2.193928 | 0.67997 | 0.469923 | 5.463839 | -| 5 | 0.016212 | 1.994848 | 1.372814 | 4.484892 | -| 6 | 0.022173 | 1.035929 | 3.088236 | 5.753994 | -| 7 | 4.172087 | 0.031948 | 0.022173 | 5.908966 | -| 8 | 3.004313 | 321.163893 | 40.660143 | 366.266966 | -| 9 | 1.01018 | 19.140959 | 94.997644 | 117.190838 | -| 10 | 0.48995 | 0.012875 | 0.025272 | 1.455069 | -| 11 | 0.086069 | 3.18408 | 1076.185703 | 1080.979347 | -| 12 | 26.124954 | 74.841022 | 31.799793 | 136.190891 | -| 13 | 2.291918 | 0.602007 | 7.067204 | 11.980057 | -| 14 | 0.017166 | 130.05209 | 4916.393042 | 5048.125029 | -| 15 | 0.709772 | 2228.88422 | | | -| 16 | 0.299931 | 749.699831 | 1292.188883 | 2043.264866 | - -### BunJS - -| Day | Data Prep | Task 1 | Task 2 | Total | -|-----|-----------|-------------|-------------|-------------| -| 1 | 1.748967 | 0.142928 | 0.064925 | 2.786357 | -| 2 | 0.026083 | 1.908292 | 1.064129 | 4.41491 | -| 3 | 0.035062 | 2.974646 | 0.745375 | 5.382629 | -| 4 | 1.745684 | 0.886423 | 0.464507 | 3.764245 | -| 5 | 0.038483 | 1.613605 | 0.883742 | 2.792149 | -| 6 | 0.025973 | 5.399242 | 8.93851 | 16.523445 | -| 7 | 0.57537 | 1.07013 | 0.146887 | 7.837843 | -| 8 | 1.536062 | 30.79651 | 3.468016 | 38.804612 | -| 9 | 1.916143 | 8.321198 | 29.577421 | 43.114606 | -| 10 | 0.775073 | 1.29945 | 0.113532 | 5.466702 | -| 11 | 0.517007 | 4.528253 | 86.598141 | 94.108958 | -| 12 | 1.629051 | 23.098499 | 19.713756 | 45.934121 | -| 13 | 1.008153 | 1.562735 | 2.420872 | 6.93212 | -| 14 | 0.039913 | 70.777261 | 921.215483 | 994.024702 | -| 15 | 1.284169 | 3502.799146 | 4108.788668 | 7615.049725 | -| 16 | 1.619275 | 109.284153 | 3671.563318 | 3784.52568 | - -### BunJS via NPM - -| Day | Data Prep | Task 1 | Task 2 | Total | -|-----|-----------|-------------|-------------|-------------| -| 1 | 1.156204 | 0.089815 | 0.02905 | 1.631001 | -| 2 | 0.025971 | 2.06866 | 1.543709 | 6.21064 | -| 3 | 0.089616 | 3.850746 | 1.354451 | 7.656712 | -| 4 | 2.646188 | 2.037947 | 0.918084 | 7.897617 | -| 5 | 0.072775 | 9.743062 | 1.911554 | 16.088883 | -| 6 | 0.036151 | 5.491488 | 7.819929 | 18.103653 | -| 7 | 4.972701 | 1.376042 | 0.244659 | 9.505551 | -| 8 | 0.872446 | 33.272144 | 3.167168 | 40.410787 | -| 9 | 1.563592 | 7.83241 | 22.543755 | 34.60378 | -| 10 | 1.146802 | 1.070616 | 0.11946 | 5.535451 | -| 11 | 0.697809 | 5.676932 | 94.388937 | 104.639425 | -| 12 | 1.428591 | 21.896529 | 27.058339 | 52.025615 | -| 13 | 1.310323 | 1.974011 | 3.208853 | 11.825741 | -| 14 | 0.030868 | 66.630601 | 931.044371 | 1000.180086 | -| 15 | 0.866335 | 3703.212977 | 4071.893487 | 7779.582651 | -| 16 | 1.041401 | 92.635882 | 3561.743567 | 3657.851725 | - -### NodeJS - -| Day | Data Prep | Task 1 | Task 2 | Total | -|-----|---------------|--------------|---------------|-------------| -| 1 | 0.6326570511 | 0.7726178169 | 0.09186601639 | 4.036453962 | -| 2 | 0.06083703041 | 3.081161022 | 2.736801147 | 8.797230959 | -| 3 | 0.0717959404 | 1.395604134 | 0.8155229092 | 4.395972967 | -| 4 | 2.967746973 | 1.262831926 | 0.6106090546 | 6.88043499 | -| 5 | 0.03186917305 | 1.607506037 | 0.8835170269 | 4.430343866 | -| 6 | 0.03769493103 | 1.477972984 | 4.335619926 | 7.83961606 | -| 7 | 4.268946886 | 0.8105518818 | 0.1285278797 | 7.313599825 | -| 8 | 0.965007782 | 24.61702394 | 7.036854982 | 35.49565005 | -| 9 | 1.430613995 | 7.346641064 | 19.90986896 | 30.65957308 | -| 10 | 0.7217030525 | 0.5553958416 | 0.4496278763 | 4.492933035 | -| 11 | 0.2193989754 | 2.270998001 | 49.84459496 | 55.24138713 | -| 12 | 2.225651026 | 40.98382688 | 25.68456006 | 70.81108499 | -| 13 | 0.8755860329 | 0.8597660065 | 1.65435195 | 5.230237007 | -| 14 | 0.04812097549 | 71.35918212 | 1641.818351 | 1717.190493 | -| 15 | 1.681344032 | 5801.378749 | 3748.3283 | 9553.386698 | -| 16 | 0.5565521717 | 285.5421021 | 3415.973495 | 3704.117316 | \ No newline at end of file +## The results are in + +| Language | Day 10 | Day 11 | Day 12 | Day 13 | Day 14 | Day 15 | Day 16 | +| ------------- | ---------------------------------------- | -------------------------------------------- | ------------------------------------------ | ----------------------------------------- | -------------------------------------------- | -------------------------------------------- | ----------------------------------------- | +| Python | 1.570066 | 39.33278733 | 145.323992 | 13.61234967 | 4243.105014 | | 1874.640703 | +| BunJS | 1.06759 | 96.37504 | 57.367071 | 3.588709 | 1139.287269 | 8118.08808 | 3896.015796 | +| BunJS via NPM | 2.701455 | 105.319079 | 49.231411 | 6.679770667 | 975.7302437 | 8085.080331 | 3948.378316 | +| NodeJS | 2.980631669 | 69.88842698 | 74.05843997 | 5.454815348 | 1994.470144 | 10390.28093 | 3724.372108 | + +> N.B. For the purposes of keeping the table concise I've focused on a week's worth of tasks in the middle of the month, this gave me problems with a reasonable degree of difficulty but not ones that would be difficult to re-engineer in Typescript. I've also only included the average total time to load data and complete both parts of each problem across 3 runs, rather than comparing each individual segment. + +There's certainly no clear, runaway winner. I'd expected Python to still be the faster option, with BunJS maybe coming close, while still beating NodeJS across the board. However, as we can see, things weren't quite so clear cut. + +BunJS actually managed to outperform Python across the majority of the examples, with 3 wins to Python and NodeJS's 2s. Even expanding this out to the first 16 days +and BunJS stays ahead with 10 total wins, beating Python's 5 and NodeJS's 1. Perhaps most interesting was the fact that calling Bun via NPM performed the best, taking +6 wins to the direct approach's 4. I would've expected the extra overhead to have a negative impact. Admittedly there may have been some skewing of data on this, the run +times via NPM mostly tended to decrease on each execution, suggesting a degree of caching may be taking place. + +Also pretty impressive is that both BunJS and NodeJS managed to produce a result on Day 15 where Python continued to crash out. Granted there's probably a flaw in my Python code +but the Typescript code is pretty much a like for like conversion. I also felt like BunJS' perceived load time was faster, even on solutions where Python had the +fastest execution time, the time from pressing enter to starting to getting output often seemed quite long, with BunJS feeling much more responsive. + +## So what did we learn? + +Let's start with the main question, is BunJS faster than NodeJS? The results would suggest that on average, yes, BunJS executes the same code faster than NodeJS. + +Should you immediately switch all NodeJS projects to BunJS? Probably not, while BunJS was faster, I would say the differences are not really great enough to warrant the +overhead of any refactoring, however minor. I also hit a scenario in last years Advent of Code where BunJS couldn't run the solution due to import issues, but NodeJS could, +so you may find that converting to Bun will break your project. + +Should I switch all my Python projects to BunJS? Again, probably not. Python is still really fast, and, particularly for these kinds of problems, there are a lot of packages +available to make implementing the more complex algorithm's a lot easier, and as I found with last years challenges, sometimes Python can handle the bigger datasets a lot better. + +Should I do Advent of Code? Absolutely, while some days puzzles are downright horrible, for the most part it's pretty fun, and you can learn a lot about algorithms and more +advanced optimisation techniques. + +And in case you're wondering how I did this time around, I managed 2nd place on both. I've no idea how... From 0de636fd071d9b12d8a2f1a67a9cbc7a4f583395 Mon Sep 17 00:00:00 2001 From: OiNutter Date: Wed, 8 May 2024 12:26:20 +0100 Subject: [PATCH 038/160] fix closing tag --- _posts/2024-05-03-bunjs-a-fast-rising-star.md | 27 ++++++++++--------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/_posts/2024-05-03-bunjs-a-fast-rising-star.md b/_posts/2024-05-03-bunjs-a-fast-rising-star.md index 217a4a6f8d..a371debf4b 100644 --- a/_posts/2024-05-03-bunjs-a-fast-rising-star.md +++ b/_posts/2024-05-03-bunjs-a-fast-rising-star.md @@ -23,18 +23,19 @@ The problem I was struggling to solve was; “What can I use this on?”. Our cl Then we got to October, and, to my eternal annoyance, Christmas stuff started appearing in the shops (thankfully no Mariah yet), and, despite myself, I started thinking about Christmas things, and more specifically… [Advent of Code](https://adventofcode.com/). For those currently sitting scratching their heads, Advent of Code is a global series of coding challenges, one a day from the start of December until Christmas Day, set by [Eric Wastl](http://was.tl/), which I took part in for the first time the year before. I’d managed a respectable 6th place on the Scott Logic leaderboard and a slightly better 5th place on the client leaderboard. This year I was hoping to improve on that. ## Formulating a plan + Last year’s efforts I’d written in Python, as a way of keeping my hand in. For the most part, it worked fine but some of the more intensive data processing challenges were painfully slow to run, despite my best efforts at optimising, to the point where, having confirmed that we were basically running the same algorithm, I was using my line manager’s Rust versions to get the final answers. Suffice to say, this year I needed something better. I’d been considering writing in Rust, both because of its obvious performance advantage, and because I’d like to get better at Rust, but my lack of familiarity, combined with the knowledge that the faster you solve the puzzle the more points you get, was giving me trepidation… was BunJS a possible solution? More research was needed! I decided to take my existing solutions from last year and convert them to Typescript, then benchmark them against the Python versions, and while I was at it, why not compare NodeJS running the same code? The results... were surprising: ## The results are in -| Language | Day 10 | Day 11 | Day 12 | Day 13 | Day 14 | Day 15 | Day 16 | -| ------------- | ---------------------------------------- | -------------------------------------------- | ------------------------------------------ | ----------------------------------------- | -------------------------------------------- | -------------------------------------------- | ----------------------------------------- | -| Python | 1.570066 | 39.33278733 | 145.323992 | 13.61234967 | 4243.105014 | | 1874.640703 | -| BunJS | 1.06759 | 96.37504 | 57.367071 | 3.588709 | 1139.287269 | 8118.08808 | 3896.015796 | -| BunJS via NPM | 2.701455 | 105.319079 | 49.231411 | 6.679770667 | 975.7302437 | 8085.080331 | 3948.378316 | -| NodeJS | 2.980631669 | 69.88842698 | 74.05843997 | 5.454815348 | 1994.470144 | 10390.28093 | 3724.372108 | +| Language | Day 10 | Day 11 | Day 12 | Day 13 | Day 14 | Day 15 | Day 16 | +| ------------- | ---------------------------------------- | -------------------------------------------- | ------------------------------------------ | ----------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | +| Python | 1.570066 | 39.33278733 | 145.323992 | 13.61234967 | 4243.105014 | | 1874.640703 | +| BunJS | 1.06759 | 96.37504 | 57.367071 | 3.588709 | 1139.287269 | 8118.08808 | 3896.015796 | +| BunJS via NPM | 2.701455 | 105.319079 | 49.231411 | 6.679770667 | 975.7302437 | 8085.080331 | 3948.378316 | +| NodeJS | 2.980631669 | 69.88842698 | 74.05843997 | 5.454815348 | 1994.470144 | 10390.28093 | 3724.372108 | > N.B. For the purposes of keeping the table concise I've focused on a week's worth of tasks in the middle of the month, this gave me problems with a reasonable degree of difficulty but not ones that would be difficult to re-engineer in Typescript. I've also only included the average total time to load data and complete both parts of each problem across 3 runs, rather than comparing each individual segment. @@ -46,21 +47,21 @@ and BunJS stays ahead with 10 total wins, beating Python's 5 and NodeJS's 1. Per times via NPM mostly tended to decrease on each execution, suggesting a degree of caching may be taking place. Also pretty impressive is that both BunJS and NodeJS managed to produce a result on Day 15 where Python continued to crash out. Granted there's probably a flaw in my Python code -but the Typescript code is pretty much a like for like conversion. I also felt like BunJS' perceived load time was faster, even on solutions where Python had the +but the Typescript code is pretty much a like for like conversion. I also felt like BunJS' perceived load time was faster, even on solutions where Python had the fastest execution time, the time from pressing enter to starting to getting output often seemed quite long, with BunJS feeling much more responsive. ## So what did we learn? -Let's start with the main question, is BunJS faster than NodeJS? The results would suggest that on average, yes, BunJS executes the same code faster than NodeJS. +Let's start with the main question, is BunJS faster than NodeJS? The results would suggest that on average, yes, BunJS executes the same code faster than NodeJS. -Should you immediately switch all NodeJS projects to BunJS? Probably not, while BunJS was faster, I would say the differences are not really great enough to warrant the -overhead of any refactoring, however minor. I also hit a scenario in last years Advent of Code where BunJS couldn't run the solution due to import issues, but NodeJS could, -so you may find that converting to Bun will break your project. +Should you immediately switch all NodeJS projects to BunJS? Probably not, while BunJS was faster, I would say the differences are not really great enough to warrant the +overhead of any refactoring, however minor. I also hit a scenario in last years Advent of Code where BunJS couldn't run the solution due to import issues, but NodeJS could, +so you may find that converting to Bun will break your project. -Should I switch all my Python projects to BunJS? Again, probably not. Python is still really fast, and, particularly for these kinds of problems, there are a lot of packages +Should I switch all my Python projects to BunJS? Again, probably not. Python is still really fast, and, particularly for these kinds of problems, there are a lot of packages available to make implementing the more complex algorithm's a lot easier, and as I found with last years challenges, sometimes Python can handle the bigger datasets a lot better. -Should I do Advent of Code? Absolutely, while some days puzzles are downright horrible, for the most part it's pretty fun, and you can learn a lot about algorithms and more +Should I do Advent of Code? Absolutely, while some days puzzles are downright horrible, for the most part it's pretty fun, and you can learn a lot about algorithms and more advanced optimisation techniques. And in case you're wondering how I did this time around, I managed 2nd place on both. I've no idea how... From b7489b2d2b11588c27e171c5db83f4a499357e0e Mon Sep 17 00:00:00 2001 From: OiNutter Date: Wed, 8 May 2024 13:39:06 +0100 Subject: [PATCH 039/160] tweaking table styling --- _posts/2024-05-03-bunjs-a-fast-rising-star.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/_posts/2024-05-03-bunjs-a-fast-rising-star.md b/_posts/2024-05-03-bunjs-a-fast-rising-star.md index a371debf4b..68525bb023 100644 --- a/_posts/2024-05-03-bunjs-a-fast-rising-star.md +++ b/_posts/2024-05-03-bunjs-a-fast-rising-star.md @@ -30,12 +30,12 @@ I decided to take my existing solutions from last year and convert them to Types ## The results are in -| Language | Day 10 | Day 11 | Day 12 | Day 13 | Day 14 | Day 15 | Day 16 | -| ------------- | ---------------------------------------- | -------------------------------------------- | ------------------------------------------ | ----------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -| Python | 1.570066 | 39.33278733 | 145.323992 | 13.61234967 | 4243.105014 | | 1874.640703 | -| BunJS | 1.06759 | 96.37504 | 57.367071 | 3.588709 | 1139.287269 | 8118.08808 | 3896.015796 | -| BunJS via NPM | 2.701455 | 105.319079 | 49.231411 | 6.679770667 | 975.7302437 | 8085.080331 | 3948.378316 | -| NodeJS | 2.980631669 | 69.88842698 | 74.05843997 | 5.454815348 | 1994.470144 | 10390.28093 | 3724.372108 | +| Language | Day 10 | Day 11 | Day 12 | Day 13 | Day 14 | Day 15 | Day 16 | +| ------------- | ----------------------------------------------- | --------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------ | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | +| Python | 1.570066 | 39.33278733 | 145.323992 | 13.61234967 | 4243.105014 | Failed | 1874.640703 | +| BunJS | 1.06759 | 96.37504 | 57.367071 | 3.588709 | 1139.287269 | 8118.08808 | 3896.015796 | +| BunJS via NPM | 2.701455 | 105.319079 | 49.231411 | 6.679770667 | 975.7302437 | 8085.080331 | 3948.378316 | +| NodeJS | 2.980631669 | 69.88842698 | 74.05843997 | 5.454815348 | 1994.470144 | 10390.28093 | 3724.372108 | > N.B. For the purposes of keeping the table concise I've focused on a week's worth of tasks in the middle of the month, this gave me problems with a reasonable degree of difficulty but not ones that would be difficult to re-engineer in Typescript. I've also only included the average total time to load data and complete both parts of each problem across 3 runs, rather than comparing each individual segment. From cb2a6db2b3fb8eca9fa4198cb72b8a2c582c08fc Mon Sep 17 00:00:00 2001 From: OiNutter Date: Wed, 8 May 2024 13:42:11 +0100 Subject: [PATCH 040/160] try adding styles for table --- _posts/2024-05-03-bunjs-a-fast-rising-star.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/_posts/2024-05-03-bunjs-a-fast-rising-star.md b/_posts/2024-05-03-bunjs-a-fast-rising-star.md index 68525bb023..4ff8b2355a 100644 --- a/_posts/2024-05-03-bunjs-a-fast-rising-star.md +++ b/_posts/2024-05-03-bunjs-a-fast-rising-star.md @@ -12,6 +12,15 @@ author: wmckenzie summary: A festive look at the latest challenger to NodeJS's throne --- + + ## A trip down memory lane... Last year I attended the Infobip Shift conference, where I saw a talk by Tejas Kumar on “[New Trends in Front-End Development](https://www.youtube.com/watch?v=VINfWbaFBVs&list=PLuAItjWV4peETEf336UJKvDsI5RWbshUa&index=31&pp=iAQB)”. In his talk, he demoed building and running a new QwikJS app using Bun instead of Node. I’d been hearing lots of talk about Bun, particularly on the Bytes email blast but hadn’t had a chance to properly check it out so I was particularly interested in seeing how it did. From 514ca39822f019286e906767bfa63c020cfff67a Mon Sep 17 00:00:00 2001 From: OiNutter Date: Wed, 8 May 2024 14:23:45 +0100 Subject: [PATCH 041/160] add extra conclusion about using BunJS for new projects --- _posts/2024-05-03-bunjs-a-fast-rising-star.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/_posts/2024-05-03-bunjs-a-fast-rising-star.md b/_posts/2024-05-03-bunjs-a-fast-rising-star.md index 4ff8b2355a..e228319276 100644 --- a/_posts/2024-05-03-bunjs-a-fast-rising-star.md +++ b/_posts/2024-05-03-bunjs-a-fast-rising-star.md @@ -67,6 +67,10 @@ Should you immediately switch all NodeJS projects to BunJS? Probably not, while overhead of any refactoring, however minor. I also hit a scenario in last years Advent of Code where BunJS couldn't run the solution due to import issues, but NodeJS could, so you may find that converting to Bun will break your project. +Should I consider BunJS when starting a new project? Absolutely! For most use cases you're unlikely to have an issue, and transitioning back to NodeJS should be relatively +straightforward, should you need to. The out-of-the-box Typescript and ESM handling is especially nice, I found I had a lot of headaches with ESM typescript loaders trying to +make the scripts run via NodeJS without compiling, and faster startup times for your application are never a bad thing. + Should I switch all my Python projects to BunJS? Again, probably not. Python is still really fast, and, particularly for these kinds of problems, there are a lot of packages available to make implementing the more complex algorithm's a lot easier, and as I found with last years challenges, sometimes Python can handle the bigger datasets a lot better. From 14deef9721d5ee32aa38a0a377da3e3852936201 Mon Sep 17 00:00:00 2001 From: Siteleaf Date: Thu, 9 May 2024 11:44:15 +0100 Subject: [PATCH 042/160] Updated Measuring Energy Usage In The Cloud and 4 other files --- _posts/2024-05-08-measuring-energy-usage-in-the-cloud.md | 8 +++++--- jcwright/atom.xml | 3 ++- jcwright/feed.xml | 3 ++- jcwright/index.html | 3 ++- jwright/index.html | 1 + 5 files changed, 12 insertions(+), 6 deletions(-) diff --git a/_posts/2024-05-08-measuring-energy-usage-in-the-cloud.md b/_posts/2024-05-08-measuring-energy-usage-in-the-cloud.md index 88d20c74b5..b46450436c 100644 --- a/_posts/2024-05-08-measuring-energy-usage-in-the-cloud.md +++ b/_posts/2024-05-08-measuring-energy-usage-in-the-cloud.md @@ -2,11 +2,13 @@ title: Measuring energy consumption in the cloud date: 2024-05-08 00:00:00 Z categories: - - jcwright - - Sustainability +- jcwright +- Sustainability author: jcwright layout: default_post -summary: This is the second blog from our internal project looking at the Carbon Footprint of Mobile Computation. In it we reveal how we got around the problem of how to measure energy consumption on AWS, and how we built a test harness in Java to run our benchmarks. +summary: This is the second blog from our internal project looking at the Carbon Footprint + of Mobile Computation. In it we reveal how we got around the problem of how to measure + energy consumption on AWS, and how we built a test harness in Java to run our benchmarks. --- Businesses today want to keep an eye on their carbon emissions and do their bit to help the climate crisis and so they need to understand and reduce all their emissions including those from cloud computing. diff --git a/jcwright/atom.xml b/jcwright/atom.xml index f3035cd520..2a72043347 100644 --- a/jcwright/atom.xml +++ b/jcwright/atom.xml @@ -1,4 +1,5 @@ --- author: jcwright layout: atom_feed ---- \ No newline at end of file +--- + diff --git a/jcwright/feed.xml b/jcwright/feed.xml index 65518fd0b6..dce0fcc4b1 100644 --- a/jcwright/feed.xml +++ b/jcwright/feed.xml @@ -1,4 +1,5 @@ --- author: jcwright layout: rss_feed ---- \ No newline at end of file +--- + diff --git a/jcwright/index.html b/jcwright/index.html index c08f767ed3..8cc4dfa626 100644 --- a/jcwright/index.html +++ b/jcwright/index.html @@ -1,5 +1,6 @@ --- -author: jcwright title: Jay Wright +author: jcwright layout: default_author --- + diff --git a/jwright/index.html b/jwright/index.html index 963cbe3050..34ac61824a 100644 --- a/jwright/index.html +++ b/jwright/index.html @@ -3,3 +3,4 @@ author: jwright layout: default_author --- + From ed05588ccad82e94c3667cc9f080e994bc407d28 Mon Sep 17 00:00:00 2001 From: "cwilton@scottlogic.com" Date: Thu, 9 May 2024 13:02:14 +0100 Subject: [PATCH 043/160] Added Securing A Public Aws Load Balanced Service Without Your Own Domain and 8 other files --- ...d-service-without-your-own-domain.markdown | 72 ++++++++++++++++++ _uploads/black-knight.png | Bin 0 -> 644255 bytes _uploads/bridge-of-death.png | Bin 0 -> 681114 bytes _uploads/french-taunter.png | Bin 0 -> 250967 bytes _uploads/grail-shaped-beacon.png | Bin 0 -> 381098 bytes _uploads/holy-hand-grenade-footer.png | Bin 0 -> 12164 bytes _uploads/three-headed-giant.png | Bin 0 -> 622791 bytes _uploads/tim-the-enchanter.png | Bin 0 -> 464508 bytes _uploads/vicious-rabbit.png | Bin 0 -> 524533 bytes 9 files changed, 72 insertions(+) create mode 100644 _drafts/securing-a-public-aws-load-balanced-service-without-your-own-domain.markdown create mode 100644 _uploads/black-knight.png create mode 100644 _uploads/bridge-of-death.png create mode 100644 _uploads/french-taunter.png create mode 100644 _uploads/grail-shaped-beacon.png create mode 100644 _uploads/holy-hand-grenade-footer.png create mode 100644 _uploads/three-headed-giant.png create mode 100644 _uploads/tim-the-enchanter.png create mode 100644 _uploads/vicious-rabbit.png diff --git a/_drafts/securing-a-public-aws-load-balanced-service-without-your-own-domain.markdown b/_drafts/securing-a-public-aws-load-balanced-service-without-your-own-domain.markdown new file mode 100644 index 0000000000..69b75fa4c3 --- /dev/null +++ b/_drafts/securing-a-public-aws-load-balanced-service-without-your-own-domain.markdown @@ -0,0 +1,72 @@ +--- +title: Securing a public AWS load-balanced service without your own domain +date: 2024-05-09 11:05:00 Z +tags: +- AWS +- load balancer +- api gateway +- spylogic +- cloudfront +- edge functions +summary: Meanderings on securing a load balancer without needing your own domain +author: cwilton +--- + +![the holy grail](/uploads/grail-shaped-beacon.png "Bad, bad Zoot!") + +## The quest begins + +I have recently been working on our company's prompt injection playground: an educational, now open-source application we named [SpyLogic](https://github.com/ScottLogic/prompt-injection). The UI is a standard React SPA, and the API is served using Express. I was tasked with deploying the application to AWS, and while the UI deployment uses the ubiquitous CloudFront / S3 pattern, the API layer required some thought. + +![The three-headed giant of Arthurian legend](/uploads/three-headed-giant.png "He bravely turned his tail and fled") + +There are numerous ways to provision a public API in AWS, but utilising so-called [serverless architecture](https://en.wikipedia.org/wiki/Serverless_computing) for an API that exists solely to serve a UI makes a lot of sense - you write the application code, and let AWS manage compute capacity according to demand. Discarding the idea of managing my own EC2 containers leaves a choice of two serverless patterns: API Gateway-fronted [Lambda](https://aws.amazon.com/lambda/) functions, and a load balanced [Fargate](https://aws.amazon.com/fargate/) service running the application in a container. + +Our API code had not been written with discrete function logic in mind, as the server persists a data cache across requests for the lifetime of a user session. While I could have switched to ElastiCache storage for the cloud deployment, and put the entire backend in a lambda function, the path of least resistance was to use Fargate to spin up the API in a single container, initially with an in-memory cache. That would allow us to deploy the entire application relatively painlessly, and test its performance front-to-back. The eagle-eyed will have spotted that all-important phrase, "in-memory cache", which for persisting user data across requests implies either [sticky load balancing](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/sticky-sessions.html) or a single container serving all requests. Again, the easiest approach was to use a single container to begin with, and worry about scalability / redundancy later. + +![The Black Knight](/uploads/black-knight.png "None shall pass") + +The final concern was security. I originally assumed - _spoiler alert!_ - that the load balancer would be public-facing, with authentication performed via the UI and authorization at the load balancer to verify an [OAuth](https://aaronparecki.com/oauth-2-simplified/) token in incoming requests. This was particularly important for us, because we would be using our own OpenAI API key to enable users to access ChatGPT models, so we wanted it all locked down to prevent malicious actors hammering our API and emptying our wallet. Of course, authorization means using https protocol, which in turn requires a valid domain and certificate. Which we didn't yet have. + +![Sorcery required](/uploads/tim-the-enchanter.png "There are some who call me ... Tim") + +At this stage we weren't even settled on the name "SpyLogic"; that would come later. I set to thinking on how I might magic together some AWS services to deploy the API securely, without needing to buy a domain until we were ready. + +## Enter API Gateway + +As luck would have it, [API Gateway in its bantamweight HTTP form](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api.html) offers direct integration with Application Load Balancer. This gives me the free, secure https endpoint of my desires: I can configure it as a simple passthrough proxy, with authorization on incoming requests via a lambda function. Then when the time comes, I can just take it out and move authorization to the load balancer. Seems almost too easy ... + +![Killer Rabbit of Caerbannog](/uploads/vicious-rabbit.png "Death awaits you all with nasty, big, pointy teeth") + +## Proxy header troubles + +After stumbling over a few CORS ditches, I eventually came across a deeper problem with our session cookie. For the uninitiated, if you have a proxy server terminating TLS in between client and destination, it will appear to the destination that the request is coming from an insecure origin: the proxy. Therefore it is standard practice for a proxy server to add request headers identifying the client IP / protocol and host of the incoming request. However, in typical fashion there are two ways to achieve this: the original ["de-facto standard" X-Forwarded headers](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-For) and the newer ["standard" Forwarded header](https:/developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Forwarded) 🤨. In a predictable turn of events, even though the [Forwarded header is 10 years old this summer](https://www.rfc-editor.org/rfc/rfc7239), many proxy servers still use the original X-Forwarded headers. + +![Crossing the Gorge of Eternal Peril](/uploads/bridge-of-death.png "Blue. No yel ... Aaaaargh") + +It is possible to [configure Express to trust proxy servers](https://expressjs.com/en/guide/behind-proxies.html) en route. In our setup there are two proxies: API Gateway and Application Load Balancer. If you've been following me so far, you might be able to guess the problem... Yep, HTTP API Gateway uses the Forwarded header, while at the time of writing, Application Load Balancer uses X-Forwarded headers and ignores any existing Forwarded header. This means that our Express server receives both sets of headers in every request, so in theory it wouldn't know the order in which our proxies were encountered, and therefore which one to trust. In fact, at the time of writing [Express ignores the Forwarded header](https://github.com/expressjs/express/issues/5459) as well, so it doesn't even know that requests have passed through our secure API Gateway, instead believing they come from the insecure load balancer. As a result, Express will not include our [secure session cookie](https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies#security) in responses, so the browser will be unable to preserve a user's session. In a conversational AI application this is a dealbreaker, as every request will begin a new chat, instead of building up a conversation over time. + +> Me: In Monty Python and the Holy Grail, who is the first to be cast into the gorge of eternal peril? +> Bot: Sir Robin is the first to be cast into the Gorge of Eternal Peril. +> Me: What question was he unable to answer? +> Bot: I don't know. Aaaaaargh! + +## Express wrangling + +In response to my issue describing this [Forwarded vs X-Forwarded headers problem](https://github.com/expressjs/express/issues/5459), the lovely folks at Express pointed out there is a way to override request properties using the [Express extensions API](https://expressjs.com/en/guide/overriding-express-api.html). Visit the issue for more detail, but the summary is that I can intercept all requests and overwrite the "ip" and "protocol" properties with the values in the Forwarded header (if present), and ignore the X-Forwarded headers entirely. The end result is that our [Express Session middleware](https://www.npmjs.com/package/express-session) sees IP and protocol identifying the secure API Gateway, not the insecure load balancer, thus happily returns the Set-Cookie header to the client, and our user session is successfully established 🥂 + +If you want to see it in action, here's my [repo on GitHub with the final working solution](https://github.com/chriswilty/apigw-fargate-stacks), also including an attempt with Network Load Balancer that didn't work. + +## A twist in the tale + +![Keeper of the Grail](/uploads/french-taunter.png "I told them we already got one!") + +This intermediate architecture is different enough to our ultimate solution that when it came time to remove gateway, there was an unpleasant surprise. It turns out you cannot add _authorization_ to an Application Load Balancer as you can with API Gateway; instead the load balancer will only allow initiating _authentication_ and provides no mechanism to verify an access token in incoming requests. For this reason, I decided to put a CloudFront proxy in front of the load balancer, with an [Edge Function](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/lambda-at-the-edge.html) to perform token verification. Because in theory you could hit the load balancer directly to bypass authorization, I also added a custom header to authorized requests in my edge function, and added [filtering at the load balancer](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/restrict-access-to-load-balancer.html) to reject any request not coming through CloudFront. As a final security measure, you can also use a [CloudFront prefix list](https://docs.amazonaws.cn/en_us/AmazonCloudFront/latest/DeveloperGuide/LocationsOfEdgeServers.html#managed-prefix-list) at the load balancer to block requests not originating from CloudFront. But all that would be unnecessary if we could simply authorize requests at the load balancer. + +## So was it all worth it? + +I learned a whole lot about secure cookies, proxy headers, and how fickle different AWS services can be, so in terms of education it was worth some pain. But that pain cost time and money, so let me save you some of your own. + +Domains can be really cheap - $3 a year cheap - so just buy one and architect it right first time! All you'll need to swap out when you have a permanent home for your application is the domain and certificates. At the time of writing, holyhandgrena.de is available for $9/year. Enjoy! + +![Holy Hand Grenade of Antioch](/uploads/holy-hand-grenade-footer.png) \ No newline at end of file diff --git a/_uploads/black-knight.png b/_uploads/black-knight.png new file mode 100644 index 0000000000000000000000000000000000000000..507894f029e161c77d239a404727f5df04a15818 GIT binary patch literal 644255 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%0Dx~bP~6g(gIz$e)n#NN?(=#l~yzrys_DC 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