Whither Formal? Moshe Y. Vardi Rice University. Ongoing Challenge: Complexity We have only two ways...
-
Upload
julius-cross -
Category
Documents
-
view
212 -
download
0
Transcript of Whither Formal? Moshe Y. Vardi Rice University. Ongoing Challenge: Complexity We have only two ways...
Whither Formal?Whither Formal?
Moshe Y. Vardi
Rice University
Ongoing Challenge: Complexity
We have only two ways to deal with increased complexity: Abstraction Tools
Dominant level of abstraction: still RTL
Desired level of abstraction: ESL: Electronic system level HLM: High-level modeling HW/SW co-design
But: The industry is moving very slowly!
Why is it difficult to go higher?
Because people hate to change!
Because cost of R&D has not been an issue! Which means that one can just throw
resources at the problem.
This is going to change! The “hayride” seems to be over. Margins will be squeezed. Business processes will be re-examined
with a magnifying glass. The industry will change kicking and
screaming!
The Multi-Core Challenge
The days of annual 50% cost-performance gains seem to be over.
We no longer know how to translate transistor density gains to cost-performance gains.
The hardware industry is moving to multi-core, but the software industry does not know how to follow. Can the software problem be solved?
Who will be adversely affect? Processor industry? Hardware industry? IT industry? Western civilization? Humanity?
The Language Wars
Language adoption in computing has always been a very strange process; “who shall live and who shall die?” (Remember APL?)
Small players (Esterel, BlueSpec) are not likely to succeed; adoption risk is too large.
No major leader at the system level.
So far open source seems (SystemC) to dominate, but not for technical reasons.
Academia has been slow to develop interest.
Transactions: Fundamental Concept
Transactions: fundamental concept in databases – concurrent access to data. Requirements: ACID (atomicity,
consistency, isolation, durability) Solution: locking, serializability, etc. Rich theory and practice
Transactions: a fundamental concept in computer science – concurrent access to data. Transactional operating systems Transactional file systems Transactional memories
Diatribe on “TLM”
What are the “transactions” in “transaction-level modeling”? It is just a buzzword!
Architecture should be part of CS not EE!How to solve concurrent access to
data in hardware? Use transactions!When architects start to really use
transactions, then transaction-level modeling will become meaningful.
Not much theory of Formal.
Where is Formal today?
Boolean equivalence: industrial acceptance
Sequential equivalence: acceptance near, little academic research
Property verification for HW: making a widening penetration, mostly applied to small blocks, no recent major research progress
Property verification for SW: industrial niche (MS SDV, protocols), no recent major research progress (exception: termination)
Challenges for Formal
Scale technology for design blocks with meaningful micro-architectural functionality. It’s time for SMT to deliver performance!
Make transactions a first-class concept. But read the literature first!
Push Formal to system level Concurrent software
Pay attention to digital-analog issues Hybrid systems
Food for Thought
Wayne Gretzky: “I skate to where the puck will be, not where it's been.”
Goal of research: Intercept the future – “Hit the puck to where Wayne Gretzky will
be.''
The industry is moving to a higher level of abstraction. This is where research should aim!
Plea to Industry
Reality: Many academic papers suffer from weak experimentation!
Reason: Lack of realistic benchmarks.
Claim: If industry finds a way to provide realistic benchmarks to academia, then both sides benefit!