• About Jakob Engblom and this blog
Observations from Uppsala Computer Simulation, Virtual Platforms, Embedded Programming, Multicore and More (by Jakob Engblom)

Category Archives: Multicore Debug

Wind River Blog: Debugging Simics using Simics

2012 December 6 13:04 / 2 Comments / Jakob

There is a new post at my Wind River blog, telling the story of how some of the Simics developers used Simics itself to debug an intermittent Simics program crash caused by a timing-sensitive race condition.

Running Simics on itself is pretty cool, and shows the power of the simulator and its applicability even to really complex software.

Tweet
Posted in: multicore debug, programming, virtual platforms / Tagged: Debug, race condition, reverse debugging, Simics

SiCS Multicore Day 2012

2012 September 16 22:12 / 4 Comments / Jakob

The 2012 edition of the SiCS Multicore Day was fun, like they have always been in the past. I missed it in 2010 and 2011, but could make it back this year. It was interesting to see that the points where keynote speakers disagreed was similar to previous years, albeit with some new twists. There was also a trend in architecture, moving crypto operations into the core processor ISA, that indicates another angle on the hardware accelerator space.

Read More →

Tweet
Posted in: computer architecture, conferences, embedded software, multicore computer architecture, multicore debug, multicore software, parallel computing, programming / Tagged: Erik Hagersten, heterogeneous, homogeneous, James Larus, Rich Hetherington, SiCS Multicore days, Stephen Hill

David Ungar: It is Good to be Wrong

2012 February 12 23:31 / 7 Comments / Jakob

I was recently pointed to a 2011 SPLASH presentation by David Ungar, an IBM researcher working on parallel programming for manycore systems. In particular, in a project called Renaissance, run together with the Vrije Universiteit Brussels in Belgium (VUB) and Portland State University in the US. The title of the presentation is “Everything You Know (about Parallel Programming) Is Wrong! A Wild Screed about the Future“, and it has provoked some discussion among people I know about just how wrong is wrong.

Read More →

Tweet
Posted in: computer architecture, multicore debug, multicore software, programming / Tagged: David Ungar, manycore, Portland State, Renaissance, Smalltalk, Squeak, Vrije Universiteit Brussels

Photoshop Scalability and “-10% overhead”

2010 November 1 13:45 / Leave a Comment / Jakob

I just finished reading the October 2010 issue of Communications of the ACM. It contained some very good articles on performance and parallel computing. In particular, I found the ACM Case Study on the parallelism of Photoshop a fascinating read. There was also the second part of Cary Millsap’s articles about “Thinking Clearly about Performance”.

Read More →

Tweet
Posted in: multicore debug, multicore software, programming / Tagged: Cary Millsap, Clem Cole, Communications of the ACM, GPGPU, Oracle, performance optimization, Photoshop, Russell Williams

S4D 2010

2010 September 15 09:02 / 12 Comments / Jakob

Looks like S4D (and the co-located FDL) is becoming my most regular conference. S4D is a very interactive event. With some 20 to 30 people in the room, many of them also presenting papers at the conference, it turns into a workshop at its best. There were plenty of discussion going on during sessions and the breaks, and I think we all got new insights and ideas.

Read More →

Tweet
Posted in: appearances, computer simulation technology, conferences, EDA, multicore debug, security, virtual platforms / Tagged: ARM, Debug, ESCUG, FDL, Infineon, Intel, John Aynsley, Pat Brouillette, S4D, Simon Davidmann, Southampton, ST, SystemC, Thorsten Grötker, TrustZone

Wind River Blog: True Concurrency is Different

2010 June 18 21:24 / Leave a Comment / Jakob

I have another blog up at Wind River. This one is about multicore bugs that cannot happen on multithreaded systems, and is called True Concurrency is Truly Different (Again). It bounces from a recent interesting Windows security flaw into how Simics works with multicore systems.

Tweet
Posted in: multicore computer architecture, multicore debug, multicore software, security, Wind River Blog / Tagged: Simics

Wind River Blog: Simics Analyzer

2010 May 26 20:40 / Leave a Comment / Jakob

I have a new blog post up at the Wind River blog network, about the new target analysis tools in Simics 4.4. It is a very fun piece of technology to play with, and you learn a lot just by poking around at existing software systems…

Tweet
Posted in: embedded software, multicore debug, virtual platforms, Wind River Blog

MCC 2009 Presentations Online

2009 December 3 09:29 / 2 Comments / Jakob

UPMARC_700x150The presentations from the 2009 Swedish Workshop on Multicore Computing (MCC 2009) are now online at the program page for the workshop. Let me add some comments on the workshop per se.

Read More →

Tweet
Posted in: appearances, computer architecture, conferences, embedded software, multicore debug, multicore software / Tagged: Andras Vajda, Domain-specific languages, Ericsson, heterogeneous, homogeneous, keynote, LTE, MCC, UpMarc

Freescale P4080, in Physical Form

2009 September 17 11:16 / Leave a Comment / Jakob

freescale-logo-iconPast Tuesday, I attended the Freescale Design With Freescale (DWF) one-day technology event in Kista, Stockholm. This is a small-scale version of the big Freescale Technology Forum, and featured four tracks of talks running from the morning into the afternoon. All very technical, aimed at designing engineers.

Read More →

Tweet
Posted in: appearances, embedded software, embedded systeme, multicore computer architecture, multicore debug, virtual platforms / Tagged: DWF, freescale, heterogeneous, homogeneous, Jonas Svennebring, MPC5606, p4080, Simics

SiCS Multicore Day 2009

2009 September 7 20:26 / 8 Comments / Jakob

Last Friday, I attended this year’s edition of the SiCS Multicore Day. It was smaller in scale than last year, being only a single day rather than two days. The program was very high quality nevertheless, with keynote talks from Hazim Shafi of Microsoft, Richard Kaufmann of HP, and Anders Landin of Sun. Additionally, there was a mid-day three-track session with research and industry talks from the Swedish multicore community. Read More →

Tweet
Posted in: appearances, conferences, multicore computer architecture, multicore debug, multicore software, virtual machines / Tagged: Anders Landin, CPP, Ericsson, Erlang, Hazim Shafi, heterogeneous, homogeneous, MCC, Richard Kaufmann, SiCS Multicore days, Simics, Visual Studio 2010

Downloadable Book about Embedded Multicore

2009 August 8 20:27 / Leave a Comment / Jakob

freescale-logo-iconFreescale has now released the collected, updated, and restyled book version of the article series on embedded multicore that I wrote last year together with Patrik Strömblad of Enea, and Jonas Svennebring, and John Logan of Freescale. The book covers the basics of multicore software and hardware, as well as operating systems issues and virtual platforms. Obviously, the virtual platform part was my contribution.

Read More →

Tweet
Posted in: books, embedded software, embedded systeme, multicore computer architecture, multicore debug, multicore software, virtual platforms / Tagged: freescale, John Logan, Jonas Svennebring, Patrik Strömblad

Article in ECNmag about Multicore and Virtual Platforms

2009 June 9 07:46 / Leave a Comment / Jakob

ecn_logosI have a short article on multicore systems development and virtual platforms in the May 2009 issue of ECN magazine, over at www.ecnmag.com.

Tweet
Posted in: articles, multicore debug, multicore software, virtual platforms / Tagged: ECNmag

Simulation Determinism: Necessary or Evil?

2009 April 19 21:36 / 1 Comment / Jakob

gearsIn my series (well, I have one previous post about checkpointing) about misunderstood simulation technology items, the turn has come to the most difficult of all it seems: determinism. Determinism is often misunderstood as meaning “unchanging” or “constant” behavior of the simulation. People tend to assume that a deterministic simulation will not reveal errors due to nondeterministic behavior or races in the modeled system, which is a complete misunderstanding. Determinism is a necessary feature of any simulation system that wants to be really helpful to its users, not an evil that hides errors.

Read More →

Tweet
Posted in: computer simulation technology, multicore debug, programming, virtual platforms / Tagged: debugging, determinism, multicore, repeatability, reverse execution, Simics, VMWare

IBM z10 Heavy-Duty Virtual Platform

2009 February 15 18:17 / Leave a Comment / Jakob

ibm_z10Unknown to most, IBM has one of the world’s longest records of using virtual platforms for software and firmware development and verification. This project has been ongoing since at least the days of the zSeries 900 machines, through z990, z9, and now z10. An excellent article on this virtual platform and its uses is found in the IBM Journal of Research and Development, number 1, 2009, . It is called “IBM System z10 Firmware Simulation”, by Körner et al.

Read More →

Tweet
Posted in: computer simulation technology, multicore debug, multicore software, review, virtual platforms / Tagged: CECsim, IBM, Simics, z10, zSeries

“Multicore Debug” Made Top Ten Embedded.com for 2008

2009 January 1 21:10 / Leave a Comment / Jakob

embeddedcom-logoEmbedded.com just listed the ten most visited articles on their website during 2008, and my contribution on debugging multiprocessor code was number ten. If you want some more meat around multiprocessor debug, please peruse the various papers and presentations found on my personal website.

Tweet
Posted in: articles, embedded software, multicore debug, multicore software / Tagged: Embedded.com

Article in Elektronik i Norden: Virtual Platforms

2008 December 6 21:48 / 1 Comment / Jakob

I have an article appearing in the latest issue of Elektronik i Norden, about using virtual platforms for multicore computer systems. It is framed in the context of the Freescale multicore push, in particular the QorIQ P4080, and addresses the common issues of debug, execution speed, and the need to zoom in on details every once in a while.

Tweet
Posted in: articles, multicore debug, multicore software, virtual platforms / Tagged: elektronik i norden, freescale, p4080, qoriq, virtual platforms

Swedish Workshop on Multicore 2008: Nov 27-28: CFP!

2008 August 22 10:00 / Leave a Comment / Jakob

Shrinking cores

The first Swedish Workshop on Multicore Computing (MCC) will take place in Ronneby on November 27 and 28, 2008. The call for papers is now out, and it is open until September 26. If you have something cool to present or publish about multicore computing, and happen to be here in Sweden, please do submit an abstract!

Disclosure: I am in the program committee for this event.

Tweet
Posted in: conferences, multicore computer architecture, multicore debug, multicore software / Tagged: MCC, Swedish Workshop on Multicore Computing

EETimes Article on Multicore Debug

2008 July 20 10:35 / 1 Comment / Jakob

I have another short technical piece published about Multicore Debug at the EETimes (and their network of related publications, like Embedded.com). Pretty short piece, and they cut out some bits to make it fit their format. Nothing new to fans of virtual platforms for software development, basically we can use virtual platforms to reintroduce control over parallel and for all practical purposes chaotic hardware/software systems.

Tweet
Posted in: articles, embedded software, multicore debug / Tagged: debugging, EETimes, embedded, multicore

Power Architecture Conference slides online

2008 July 10 22:38 / Leave a Comment / Jakob

Power.org LogoThe slides from the Power Architecture Conference in München and Paris are now online (and have been for a few weeks) at the Power.org site for the event. Some interesting things there about Power Architecture in particular but also virtual platforms were an almost main theme of the show.

Tweet
Posted in: appearances, conferences, multicore debug, multicore software, virtual platforms / Tagged: power architecture, Power Architecture Conference

Power Architecture Conference München 2008

2008 May 23 19:07 / 1 Comment / Jakob

Power.org LogoOn Tuesday next week, I will be presenting at the Power Architecture Conference (PAC) in München, Germany. The topics will be multicore debug using virtual hardware, and the new Simics Accelerator technology. Especially Simics Accelerator is pretty interesting technology.

It is a simple idea, using multiple host cores to run a virtual platform, with fairly amazing results. Now, using a single computer we can run fairly incredible simulations that were the realm of pure fantasy just a few years ago. We also got a nice new little box to demonstrate it with, an eight-core Dell with 16 GB of RAM. With 64-bit Linux, this thing makes my Core 2 Duo laptop with 32-bit Vista look like yesteryear’s snail…  And creates that giggling feeling that a really impressive new toy brings up in even the most grown up boys. Booting a 16-machine network of PowerPC boards was so fast it was not demoworthy.  I think we have to up the ante to some 100 target machines to make it interesting, and I have no doubt that a combination of multithreading and idle-loop optimization will make that thing be usefully interactive from the target command lines. There are many other wild things we could try on that demo box, once it gets back from the Power Architecture Conferences tour.

Tweet
Posted in: appearances, computer simulation technology, conferences, embedded software, multicore debug, multicore software, virtual platforms / Tagged: power architecture, Power Architecture Conference, Simics, Simics Accelerator

Virtual Platform by Virtualization Extensions — 1969

2008 May 11 20:53 / 1 Comment / Jakob

By means of a trip down virtualization history, I found a real gem in 1969 paper called A program simulator by partial interpretation, by Kazuhiro Fuchi, Hozumi Tanaka, Yuriko Manago, Toshitsugu Yuba of the Japanese Government Electrotechnical Laboratory. It was published at the second symposium on Operating systems principles (SOSP) in 1969. It describes a system where regular target instructions are directly interpreted, and any privileged instructions are trapped and simulated. Very similar to how VmWare does it for x86, or any other modern virtualization solution.

Read More →

Tweet
Posted in: computer simulation technology, history of computing, multicore debug, virtual platforms, virtualization / Tagged: 1969, conference paper, HITAC-8400, Hitachi, IBM, SOSP

SICS Multicore Day August 31

2007 September 2 21:13 / 10 Comments / Jakob

The SICS Multicore Day August 31 was a really great event! We had some fantastic speakers presenting the latest industry research view on multicores and how to program them. Marc Tremblay did the first presentation in Europe of Sun’s upcoming Rock processor. Tim Mattson from Intel tried hard to provoke the crowd, and Vijay Saraswat of IBM presented their X10 language. Erik Hagersten from Uppsala University provided a short scene-setting talk about how multicore is becoming the norm.

Read More →

Tweet
Posted in: appearances, conferences, embedded software, embedded systeme, multicore computer architecture, multicore debug, multicore software, parallel computing, uncategorized / Tagged: AMD, Erlang, Hardware debug support, IBM, Intel, Joe Armstrong, Niagara, QuviQ, SiCS Multicore days, Sun, transactional memory, UltraSPARC

Recent Posts

  • A Few Electrons too Many
  • Wind River Blog: Visuality NQ CIFS Server on Simics
  • Everything in the Cloud?
  • Wind River Blog: TCF and Simics
  • Off-Topic: Moving Bad Piggies Save Games
  • Two Cores, Four Cores, Eight Cores – Mobile Variety
  • Bliss: Failing to Pivot for Ideology
  • Wind River Blog and Movie: Demo of Simics Debugging
  • Simulation vs Reality in Schlock Mercenary
  • Programming like Lego
  • Does ISA Matter for Performance?
  • Wind River Blog: Debugging Simics using Simics
  • Wind River Blog: Simics and Flying Piggies
  • Dragons can be Useful – when AT Models Make Sense
  • Logging (Some More Thoughts)

Categories

  • appearances (30)
  • articles (21)
  • blogging (10)
  • books (6)
  • business issues (31)
  • computer architecture (35)
  • conferences (34)
  • EDA (50)
    • ESL (35)
  • embedded (78)
    • embedded software (57)
    • embedded systeme (50)
  • general research (6)
  • history (32)
    • general history (7)
    • history of computing (26)
  • off-topic (94)
    • biking (5)
    • board games (1)
    • computer games (3)
    • desktop software (35)
    • food and drink (1)
    • funny (12)
    • gadgets (24)
    • Politics (3)
    • popular culture (5)
    • trains (5)
    • transportation (10)
    • travel (10)
    • websites (3)
  • parallel computing (92)
    • multicore computer architecture (51)
    • multicore debug (22)
    • multicore software (65)
  • programming (107)
  • review (8)
  • security (19)
  • teaching (7)
  • testing (9)
  • uncategorized (12)
  • virtual things (128)
    • computer simulation technology (68)
    • virtual machines (17)
    • virtual platforms (97)
    • virtualization (14)
  • Wind River Blog (39)

Tags

ARM blog commentary Cadence Checkpointing clock-cycle models Communications of the ACM computer architecture conference cycle accuracy debugging DML Domain-specific languages embedded freescale G900 heterogeneous homogeneous IBM Intel iPod lego linux mobile phones multicore off-topic office 2007 operating systems p4080 podcast commentary power architecture rant research reverse debugging reverse execution S4D SiCS Multicore days Simics simulation software tools Sun SystemC video virtualization Vista Windows

1

  • F-Secure Blog

Blogs and news

  • Andras Vajda's blog (on multicore)
  • Embedded in Academia (John Regehr)
  • Grant Martin
  • Jack Ganssle
  • My Wind River Blog
  • Security Now podcast
  • Secworks (Joachim Strömbergson)
  • Simon Kågström
  • Synopsys View from the Top
  • Worse Than Failure

Archives

  • May 2013 (1)
  • April 2013 (1)
  • March 2013 (4)
  • February 2013 (1)
  • January 2013 (3)
  • December 2012 (2)
  • November 2012 (2)
  • October 2012 (1)
  • September 2012 (6)
  • August 2012 (4)
  • July 2012 (4)
  • June 2012 (3)
  • May 2012 (4)
  • April 2012 (2)
  • March 2012 (3)
  • February 2012 (1)
  • January 2012 (6)
  • December 2011 (2)
  • November 2011 (3)
  • October 2011 (4)
  • September 2011 (5)
  • August 2011 (4)
  • July 2011 (3)
  • June 2011 (4)
  • May 2011 (7)
  • April 2011 (1)
  • March 2011 (3)
  • February 2011 (5)
  • January 2011 (1)
  • December 2010 (4)
  • November 2010 (3)
  • October 2010 (5)
  • September 2010 (5)
  • August 2010 (5)
  • July 2010 (6)
  • June 2010 (5)
  • May 2010 (3)
  • April 2010 (4)
  • March 2010 (3)
  • February 2010 (4)
  • January 2010 (7)
  • December 2009 (6)
  • November 2009 (6)
  • October 2009 (7)
  • September 2009 (6)
  • August 2009 (7)
  • July 2009 (11)
  • June 2009 (5)
  • May 2009 (10)
  • April 2009 (7)
  • March 2009 (8)
  • February 2009 (9)
  • January 2009 (12)
  • December 2008 (8)
  • November 2008 (9)
  • October 2008 (9)
  • September 2008 (10)
  • August 2008 (13)
  • July 2008 (12)
  • June 2008 (8)
  • May 2008 (9)
  • April 2008 (10)
  • March 2008 (7)
  • February 2008 (8)
  • January 2008 (5)
  • December 2007 (5)
  • November 2007 (7)
  • October 2007 (7)
  • September 2007 (12)
  • August 2007 (9)
  • July 2007 (2)
© Copyright 2013 - Observations from Uppsala
Infinity Theme by DesignCoral / WordPress