In August, a strange security vulnerability dubbed “Ghostwrite” was making the rounds in the press. Basically, a vector store instruction on an Alibaba T-Head C910 RISC-V-based processor would just write to a physical address without doing a virtual-to-physical translation or checking any kind of access rights. That is just totally weird. Just how could that be implemented and slip through testing???
Continue reading “Ghostwrite – Now This is Weird”The Quarterly Product and Feature Update
I think of myself to be a technical person. I like computers, simulators, code, things like that. And obviously interacting with people and helping them solve their technical problems using technology I know. However, it seems that one of the most impactful contributions made during my time at Intel was to start a meeting series. Maybe you can call it a process innovation.
Continue reading “The Quarterly Product and Feature Update”Time to Do Something New
The time has come to do something new. I am leaving Intel (and the Intel Simics team) at the end of September (2024). After more than twenty years with the team and the product this is a big step into the unknown. But when Intel offered a “retirement” package as part of its current round of cost reduction measures, I felt that it was a golden opportunity to find something new to do.
Continue reading “Time to Do Something New”The Event at the End of Universe
This is a short story from the world of virtual platforms. It is about how hard – or easy – it is to model a simple and well-defined hardware behavior that turns out to mercilessly expose the limitations of simulation kernels.
Continue reading “The Event at the End of Universe”Intel Blog: Parallelizing a Virtual Platform Model
There are many ways to use threading and parallelization to improve the performance of virtual platforms. It is not always easy to successfully use parallelization – it very much depends on the nature of the workloads and model setup – but when it works it can really help. I recently published a long blog post at Intel, detailing an idealized example of threading for a device model that is shipping in the Simics training package.
Continue reading “Intel Blog: Parallelizing a Virtual Platform Model”Just Get the Right Tool!
We recently repaired a fence in our back yard. Not very exciting, but it provides a good case study in how to think about getting the right tools for the job. Or not getting the right tools. And the trade-offs inherent in improving the tools vs just getting a job done with what you have at hand. Which is something all software developers should have sympathy with.
Continue reading “Just Get the Right Tool!”Delivering AI-Based Solutions is not Always Easy
One of the nice properties of delivering software that users install on their own machines is that once the software has been built and shipped, the cost of running it is handed over to the user. The cost per installation and per user is minimal in terms of compute load on the developing company. Of course there are costs for things like support, but that is different. However, having the customer provide the compute resources is not necessarily that easy when it comes to AI-based setups.
Continue reading “Delivering AI-Based Solutions is not Always Easy”Useful Instruction Set Computing
I tend to get into discussions about computer processor instruction-set architecture (ISA) design. ISA design is far from my day job, but it is an interesting topic where everyone working with computers at the machine level have opinions. Typically based on a mix of personal experience and fond memories of particular machines. This in turn leads to intricate and intriguing arguments. In this blog, I will talk about my take on the current state of instruction sets in industry and the age-old “complexity of instruction set” question.
Continue reading “Useful Instruction Set Computing”Schloss Dagstuhl (and a Seminar and Cerebras)
A month ago, I participated in a seminar at Schloss Dagstuhl in Germany, about “Discrete Algorithms on Modern and Emerging Compute Infrastructure”. Not my usual cup of tea, but it was very interesting and insightful nevertheless. I have attended a Dagstuhl seminar once before, back in 2003.
Continue reading “Schloss Dagstuhl (and a Seminar and Cerebras)”Subscription Software Revisited: SnagIt
The trend to make everything into a subscription service instead of a pay-once use-forever model is well-established. I have defended it for professional software, and I am a mostly happy user of Microsoft365. Still, I must admit that I felt mildly annoyed when my favorite screen capture program, SnagIt, announced they would be switching to a subscription-only model.
Continue reading “Subscription Software Revisited: SnagIt”Teaching a Class at Uppsala University
In the first quarter of 2024, I did a short stint as a teacher at Uppsala University. I taught the class “platform-spanning systems” (PSS), which is a fourth-year/masters-level course for engineering and computer science students. It was fun and rewarding to be back at the university, and I probably learnt as much as the my students.
Continue reading “Teaching a Class at Uppsala University”Embedded Conference Scandinavia 2024
The Embedded Conference Scandinavia took place at Kistamässan in Kista, Sweden, on April 10 and 11 2024. This was a reboot of a show that used to run as a small tradeshow/exhibition plus technical talks until the pandemic hit. There was no Embedded Show anymore, just the Embedded Conference and its speaker program. The ECS was instead co-located with Elektronikmässan, the long-running and apparently thriving gathering for “electronics” companies in Sweden.
Continue reading “Embedded Conference Scandinavia 2024”Visiting Prague
Over Easter, I took a short trip to Prague with parts of the family. It is a fascinating place – full of tourists and tourist businesses, but still feeling informal and homey. We tried to climb as many towers as we possibly could and visited a ton of sights in a few intense days.
Continue reading “Visiting Prague”“RISC-V in Practice” – Computer and System Architecture Unraveled Event Three
On Wednesday, March 13, we had our third CaSA, Computer and System Architecture Unraveled, meetup. Same place as the previous, the 25th floor of the Kista Science Tower building, thanks to the kind sponsorship of Vasakronan and our collaboration with Kista Science City. The theme this time was “The RISC-V ISA in Practice”, with two speakers named Björn. Another great event!
Continue reading ““RISC-V in Practice” – Computer and System Architecture Unraveled Event Three”Intel Blog: How to Boot Linux on Virtual Platform
Booting a software stack on a virtual platform is a necessary part of most software flows. It might seem simple, but in practice there are many different ways that it can happen.
In a recent Intel Blog post, I go through five ways to boot Linux on virtual platforms. Including the cases of doing it just like the hardware, but also how to “cheat” and directly boot from a kernel without first wrapping it in a disk image or similar.