Date: Sat, 18 Nov 2000 09:19:35 -0600 (CST)
From: Vikram Adve <vadve@cs.uiuc.edu>
To: Chris Lattner <lattner@cs.uiuc.edu>
Subject: a few thoughts

I've been mulling over the virtual machine problem and I had some
thoughts about some things for us to think about discuss:

1. We need to be clear on our goals for the VM.  Do we want to emphasize
   portability and safety like the Java VM?  Or shall we focus on the
   architecture interface first (i.e., consider the code generation and
   processor issues), since the architecture interface question is also
   important for portable Java-type VMs?

   This is important because the audiences for these two goals are very
   different.  Architects and many compiler people care much more about
   the second question.  The Java compiler and OS community care much more
   about the first one.

   Also, while the architecture interface question is important for
   Java-type VMs, the design constraints are very different.


2. Design issues to consider (an initial list that we should continue
   to modify).  Note that I'm not trying to suggest actual solutions here,
   but just various directions we can pursue:

   a. A single-assignment VM, which we've both already been thinking about.

   b. A strongly-typed VM.  One question is do we need the types to be
      explicitly declared or should they be inferred by the dynamic compiler?

   c. How do we get more high-level information into the VM while keeping
      to a low-level VM design?

        o  Explicit array references as operands?  An alternative is
           to have just an array type, and let the index computations be
           separate 3-operand instructions.

        o  Explicit instructions to handle aliasing, e.g.s:
           -- an instruction to say "I speculate that these two values are not
              aliased, but check at runtime", like speculative execution in
              EPIC?
           -- or an instruction to check whether two values are aliased and
              execute different code depending on the answer, somewhat like
              predicated code in EPIC

        o  (This one is a difficult but powerful idea.)
           A "thread-id" field on every instruction that allows the static
           compiler to generate a set of parallel threads, and then have
           the runtime compiler and hardware do what they please with it.
           This has very powerful uses, but thread-id on every instruction
           is expensive in terms of instruction size and code size.
           We would need to compactly encode it somehow.

           Also, this will require some reading on at least two other
           projects:
                -- Multiscalar architecture from Wisconsin
                -- Simultaneous multithreading architecture from Washington

        o  Or forget all this and stick to a traditional instruction set?


BTW, on an unrelated note, after the meeting yesterday, I did remember
that you had suggested doing instruction scheduling on SSA form instead
of a dependence DAG earlier in the semester.  When we talked about
it yesterday, I didn't remember where the idea had come from but I
remembered later.  Just giving credit where its due...

Perhaps you can save the above as a file under RCS so you and I can
continue to expand on this.

--Vikram

