Hacker News new | past | comments | ask | show | jobs | submit login
Computer Architecture – ETH Zürich – Fall 2019 (ethz.ch)
654 points by skovorodkin on Nov 25, 2019 | hide | past | favorite | 74 comments



The lectures are by Onur Mutlu, an ex-CMU prof and a gifted teacher. He also teaches stuff on memory systems and digital design of circuits.

All of his course videos are available online on his youtube channel : https://www.youtube.com/channel/UCIwQ8uOeRFgOEvBLYc3kc3g/pla...


Thanks for sharing, I was looking for something exactly like this earlier today.


I've been following Onur's Design of Digital Circuits. I even bought a Basys 3 FPGA to do the labs. It's really helped me break down the black box that is the CPU I program as a software dev (I finally understand Spectre and Meltdown), and I'm learning basic FPGA dev as a nice bonus.


That's amazing. I wouldn't expect an intro architecture class would let someone to understand cutting edge stuffs like Spectre and Meltdown.


Where did you find the lab material?



This is one of the best courses at ETH (computer science). Too bad I finished the PhD before this course was there.

Another very interesting course is "Reliable and Interpretable Artificial Intelligence".


> Another very interesting course is "Reliable and Interpretable Artificial Intelligence".

Which is not freely available. Do you know where we could have access to it? Thanks!

EDIT: some miswording.


How was attending this University? I recently moved family abroad from USA. Hoping my daughter may have interest in attending here for computer science. I am just blown away by the cost of US Universities. Not sure what you get out of USA schools anymore compared to some European Universities?


Not the OP, but I studied at ETH Lausanne and visited at ETH Zurich, and it was my best academic memory, surpassing Paris, London or the other universities I attended. So I recommend you a lot to try to get into this School, it's one of the best in the world, and the price of the education is a bargain compared to the comparable US universities.


In case someone gets confused searching for it, normally the federal politecnic university at Lausanne is called by its French name, EPFL.

ETH Zürich has better score in international ratings, but the EPFL doesn't lag behind much. It's a really top noch place to learn any technical career.


Also worth mentioning is the fact that the Scala programming language was created at EPFL: https://scala.epfl.ch/

Martin Odersky (the original author) is still a professor there and teaches some Computer Science courses: http://lampwww.epfl.ch/~odersky/


I enjoyed my time there a lot (did a BSc and MSc there) and can recommend it to anyone who's interested in the engineering and natural sciences. School doesn't cost much (I paid around 600CHF per semester), provides a great infrastructure (for one, I was already running simulations on a high-performance distributed-memory cluster during my third BSc semester), allows you to meet and work with a lot of great people, and you are also able to choose from a vast number of very interesting lectures thought by some great scientists (this gets unlocked during your MSc).

One of the "downsides" to ETH Zürich is that it's quite competetive right from the beginning: you have to pass the Basisprüfung after your first year to continue your studies there (8-9 exams during the month of August), which 40%-50% of the attending students will not pass (it's kind of a "filter-exam"); this is one of the differences compared to the popular US universities: everyone with a high school degree (Gymnasium here in Switzerland) is allowed to attend University here in Switzerland, i.e., we don't have interviews or entry exams for most of the BSc majors (medical school is an exception).

If you have questions, feel free to contact me (see my profile).

All the best to you and your daughter!


Yes. For PhD, it is paid very well. For MSc and BSc the cost is low. What ends up high are the living costs in Zurich. But given how much these costs have increased in the hot US cities, this may not be a problem.


A comparison I've heard is that ETH is like Europe's MIT.

However you should be aware that undergraduate courses are generally taught in German (at least in Zürich): https://ethz.ch/content/dam/ethz/common/docs/weisungssammlun...


I'm certainly satisfied with my education from ETHZ, but the question is very broad. Feel free to email me if you have more specific questions.


And as a continuation of it, with a little of Active Oberon and non-UNIX OSes along the way,

https://www.systems.ethz.ch/node/1447

https://lec.inf.ethz.ch/syscon/2019/


The "Advanced Operating Systems" looks fantastic! Do you or perhaps anyone else know if there are any video lectures for this similar to Onur's "Computer Architecture" class?


Prof. Kubi, Berkeley univ has a very good course on Advanced OS. May be you will find this useful.

https://people.eecs.berkeley.edu/~kubitron/courses/cs194-24-...


Sadly no. I just decided cross check some old links to see what they would be doing nowadays.

I guess someone else would need to jump in.


From the lecture titles it seems to be almost entirely about memory. Is this a subset of their comparch course? If so, where’s the rest of it?


Much of the CompArch topics are covered in his first year course: https://safari.ethz.ch/digitaltechnik/spring2019/doku.php?id...


Wow, very DRAM centric view of computer architecture. Where is Tomasulo algorithm, for example.. Not as much about caches that I would expect..

Maybe there are other courses for this stuff.


There's a lecture on Out-of-Order execution [1] in the Design of Digital Circuits course [2].

[1] http://www.youtube.com/watch?v=-ALyN0-jBrw

[2] https://safari.ethz.ch/digitaltechnik/spring2019/doku.php?id...



To be fair, modern computer hardware and CPU in particular are so complex that any "computer architecture" course of a reasonable size will be far removed from the real stuff.


As someone who taught this at a top 10 university, it doesn't look to me like a very good course. I feel like you should have all the basics to design a CPU by the end of the course and this course fails completely to teach the Breadth necessary for CPU design


His prerequisite first year course [0] actually matches your description more, and even has students designing their own CPUs on FPGAs. I feel like this course goes more in the direction of his own research interest, and already assumes the basic "breath" you speak of.

[0] https://safari.ethz.ch/digitaltechnik/spring2019/doku.php?id...


I'm curious, do you mind explaining, what a top 10 university is (e.g. ranked by students, number of published papers etc.)? FYI, the ETH is also considered as a top 10 university (top 6 actually according to https://en.wikipedia.org/wiki/QS_World_University_Rankings)


> I'm curious, do you mind explaining, what a top 10 university is (e.g. ranked by students, number of published papers etc.)?

If the comment was made by a professor in the U.S., it could have meant "top 10 <in the field> in North America".


In high school I used to watch Onur's lectures while he was still at CMU. Probably a significant reason for where I am now.


Where are you?


I am guessing he is at ETH Zurich


Prison, it's Onur's stalker.


I’m looking for almost exactly this, but an abstraction or two higher - software architecture. Almost like SICP but as a course where I can follow along in more bite size chunks with video lectures. Does anyone have a recommended course?


Though it is not a course,I would recommend the book, "Computing Systems:A Programmers Perspective" by Randall Bryant and David O' Hallaron. I especially like its full focus on x86-64, explaining the behaviour of a modern processor, including extensive coverage of floating point functionality, which most introductory books only cover perfunctorily.

A rare computer arch book written with programmers as the intended audience.



Maybe elements of computing systems?


I’m struggling to search for this, is it by a particular university or provider?



Thank you


The class doesn't exist because the adequately architected software barely exists.


Isn't that the truth. Sometimes I feel like the only sane person in an insane world when no one seems to admit that no one really understands how to architect software.


What would you say are the prerequisites for this course? It looks interesting but I've never taken a Comp Arch course myself and worry I'll be too far out of depth.


Give it a try. The lectures I looked at don't look like they require much more than being able to read basic assembly language, and some of them probably don't even need that.

The GPU lecture is particularly good and doesn't seem to require much more than basic programming knowledge.


I am going to watch the whole thing. I guess now it will be largely review. But, the fascination is in the instruction; this is not an easy topic to teach.


another good Youtube playlist for Architectures from Semiconductor Engineering https://www.youtube.com/playlist?list=PL4RrBxLcT1nY9ugQ_V-1p...


I can as well highly recommend this course, as well as the professor! Outstanding!


Too bad they host their course videos on Youtube. It has become painful to use. I don't understand why they cannot host them on their own server.


Interested to hear how you think self-hosted video is superior to Youtube, I have found the opposite to be true in every circumstance (unless you are without adblocker for some reason).


I've actually started to hate YouTube so much (just for being terrible to content-creators and consumers, and supporting toxic videos (time watched is a ranking factor, promoting high-engagement "edgeline videos)), and so on and so forth) that I wanted to create a white-label HTML video player that would keep the benefits of a consistent, well-made UI but drop the publisher aspect of YouTube.

I don't think I ever will, but the world needs an alternative that has a good encoding/optimization (like switching to lower bitrates on slower connections), a unified interface (familiar no matter what site it's being used on) and that doesn't tempt users to write custom skins for the video player.


And the player needs to fit into an ecosystem that will cover the bandwidth costs of the video it streams. I don't think that's a simple part of the system if one is seeking to avoid having any advertising (a good goal, that I'm absolutely for).


That's what I was wondering about.

Honestly I was thinking that some sort of integration where content creators could be directly contacted by advertisers - who would pay for in-video advertising by the content creator (this is more for personalities than for corporations) - and have a vetted way to be payed for their time / platform / ads would work (with companies paying to be part of that system). This would result in higher quality ads that are more beneficial to the content creator than the video distributor (a goal I view as equally good). And to benefit the companies advertising, you could create a tool where shorter clips of the advertisement could be sent back and forth, previewed, and approved as needed (if integrated with a payment system, this protects both parties from a bad deal).

I also think some, but not all, content creators would view paying for a small hosting company to store and stream their videos in the same way they view buying a new webcam or microphone.


Small channels on Youtube that are avaraging under 100k views per video could be hosted on a good home Internet connection. Youtube basically gives you peanuts. So you have to get your own sponsors anyway, and there are so many videos on Youtube that you can forget about discovery unless you have a very large network.


PeerTube is what you're looking for there. youtube-dl already supports it. Not sure if it deals with bit rate adaptation well, or at all.


Even with Adblock installed, there are interruptions. Try listen to the slow movement of a piece of classical music, for example: the mood is certainly ruined with commercials placed randomly in the stream. And if Adblock is active, there still could be a short break in the stream: more than enough to ruin the mood.


Here is a good example, if you are in Germany, thanks to our GEMA friends you may be unable to watch a talk if it is on YouTube.

While this might occur also with self hosted, YouTube is their main target and what they mostly care about.


Please explain...


GEMA, https://www.gema.de/, is an organization that takes care of collecting royalties for authors.

So far so good, everyone is entitled to be paid for their work.

However they are quite aggressive collecting those royalties, to the point that there are royalty free song books for the children on primary schools, for them to avoid paying GEMA.

Since we are approaching Christmas, several typical Christmas markets did had another set of songs going around, a couple of years ago as protest.

So coming back to YouTube, if there is something on a video that might trigger GEMA to act upon, Google just triggers "Sorry this video isn't available in your country".

It was much worse a couple of years ago, when Google refused to pay any kind of royalty to GEMA and just blocked everything, they have kind of settled now, but it still comes up occasionally.


Actually they host on their own, here is the first lecture https://video.ethz.ch/lectures/d-infk/2019/autumn/263-2210-0...


> It has become painful to use.

I've found the opposite, despite advertisements. For one thing, Youtube provides very good auto-generated captions and makes it easy to watch a sped-up version of the video. This saves way more time than would be taken up by looking at ads.

Of course people should still host their own videos but I see this as more like a backup, in case YouTube goes rouge somehow.


I think the proper word is "rogue" - but your points are spot on.


But it's (unintentionally?) clever, because the product they keep pushing on you is called YouTube Red, i.e. YouTube Rouge.

(How they came up with this name, given the existence of porn site Red Tube, I'll never know.)


They changed the name to YouTube Premium


You can use youtube-dl (a wonderful command line utility available eg on home-brew) to easily download the videos at your desired quality and and watch from your HD whenever/however you like.

https://youtube-dl.org


Works great for music as well...allegedly.

Some genres are very popular on YouTube but not elsewhere (relatively), New Retro Wave been an example that comes to mind, good programming music.


It also works for Facebook (!), though FB keeps changing the API / keys so make sure to keep an updated youtube-dl.


> It also works for Facebook (!)

People often assume that youtube-dl only works with YouTube because of the name, but it actually works with a really huge amount of sites, including Vimeo and Twitch.

You can see the full list of extractors that they have in the source here:

https://github.com/ytdl-org/youtube-dl/tree/master/youtube_d...


I have also found it works pretty well (works 80% to 90% of the time), at fetching videos from random websites that self host a video


Perhaps they should just rename it to something more generic like "video-dl", but then again I suspect its primary use is for YouTube and the other sites are just "extras" it grew over time.


youtube also breaks on youtube-dl, every few months. Fortunately it becomes very obvious when a breaking change has occurred.


I assume such breaks are created on purpose by YouTube to reduce downloads and similar undesirable (to YouTube) usage?


They do, and they are linked as "Video (ETHZ)".


My friend Abdullah works with him. He was the best in the country.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: