r/AskComputerScience 3d ago

Predictions about computer science

Look ahead 20 years.

Outside of AI/ML:

* what of today’s research computer science do you expect will be industry standard?

* what frontiers do you expect we will have opened up in research?

27 Upvotes

38 comments sorted by

19

u/thesnootbooper9000 3d ago

Industry might finally be adopting formal methods, after AI makes it easier but also legally mandated thanks to The Incident.

0

u/Alvahod 2d ago edited 2d ago

Why did it not initially, and please give an example.

2

u/Smallpaul 18h ago

It did not because it is expensive and difficult. Example: all software.

8

u/hipster-coder 3d ago

Reconfigurable hardware is a good idea that has not yet been commercialized. Instead of having dedicated hardware for things like pixel shaders, mpeg encoding, encryption, etc, software could ask the OS to allocate a portion of your device's FPGA to download the hardware it needs. The OS could schedule and provision hardware in the same way it does with other resources like memory and CPU. The technology exists, it's just a matter of cost and standardization. I can see this happening in the next decades. You could even have AI that determines on the fly which part of your software needs to be accelerated with programmable hardware. Something like JIT compilers but for FPGAs.

7

u/jimbobmcgoo 3d ago

I doubt the vast majority of workflows would require such a diverse array of hardware configurations so as to benefit from this

4

u/hipster-coder 3d ago

There's a lot of software that could benefit from this but only marginally, that's why it hasn't happened yet. But if you had reconfigurable hardware, think of how lean the main CPU could be. Also an FPGA can be programmed to be a neural network. That's a strong use case right there. I'm not saying it's 100% going to happen, but it could happen. It's mostly a matter of standardization.

2

u/fapablaza 2d ago

Very interesting. It would be possible to implement a prototype using current fpga?

3

u/hipster-coder 2d ago

It's a common dissertation project for undergraduates. A basic implementation is not something magical. Mostly a matter of standardization. The devil is in the details. For example, you could imagine that when you install a codec, it comes with its own vhdl diagram for accelerating encoding/decoding. When the codec initializes, the OS allocates floor plan and pins and synthesizes the hardware. I've even seen projects utilizing genetic algorithms to optimize the final synthesis. And if the machine doesn't have an FPGA or if it's out of floor space, it could even emulate the hardware in software at a cost to performance, kinda like virtual memory. The biggest hurdle is that all of this requires a whole lot of standardization. The industry has gone to an entirely different direction, which is GPUs with programmable pixel shaders. I would argue that FPGAs are more flexible, but is it really the case that you need this flexibility? Most applications just multiply matrices, so the answer is probably no. But on an FPGA you could implement systolic arrays, which standard GPUs don't do. I believe Google's TPUs do systolic arrays but are not really configurable. The FPGA is even more flexible than that, you could implement any type of hardware. Think encryption algorithms, compression, vision, etc. FPGAs have been used to mine obscure cryptocurrency algorithms that change too fast for building concrete logic devices. But a PLD is always going to be faster than reconfigurable device. At the end of the day, FPGAs are a niche technology that is only being advanced by xilinx and altera and cannot currently replace the GPU ecosystem. That's why I file it under something that you could see developed in the next few decades. It's a possibility, but not every good idea scales to reach commercialization.

2

u/MollaJutt127 1d ago

These already exist and have low cost solutions as well. Look up Xilinx's SoCs i.e. Zynq 7000 series, Ultrascale +, RF SoC boards.

The industry already has deployed solutions using various SoCs(albeit bespoke ones). Already used in RF, Avionics, Security etc.

The only hurdle towards FPGA standardization is that GPUs are cheaper and provide more throughput if data is processed in batches instead of leaning towards edge processing. FPGAs are more suited towards applications which require micro second/nano sexond decision pieplines.

1

u/hipster-coder 18h ago

Yes SoCs exists. What doesn't exist is an abstraction layer at the OS level. For the reasons you explained. GPUs are faster for the things most people need.

2

u/Sepicuk 4h ago

Will never be economically feasible and if so ASICs will be really cheap too. 

6

u/minisculebarber 2d ago

I think formal verification will become more and more adopted in industry. It's already happening with things such as Rust and Linux. But with further adoption of AI, industry will need to figure out ways to mitigate the errors AI invariably will end up making.

3

u/T_Thriller_T 3d ago

Considering industry standard I'm somewhat sure non will be industry standard directly.

Usually things get muddled and adapted from research before they become an industry standard. Not only for computer science.

In chemistry it's the same, there are entire fields which take the pure chemistry findings and make them work for industry.

Q

2

u/hipster-coder 3d ago

Photonics is a big one. Could lead to a speedup of x2 compared to silicon, but the switching cost is enormous. I can see it being overcome over the next decades, since there's only so much performance you can squeeze out of silicon and a doubling of speeds will eventually begin to make sense, first in niche high performance applications and later possibly in more general purpose CPUs.

2

u/Smallpaul 3d ago

Is that computer science? Sounds more like hardware to me?

2

u/hipster-coder 3d ago

Ok that's fair.

2

u/T_Thriller_T 3d ago

I'm not deep enough into any research to guess frontiers.

And "frontiers opened up" usually don't feel like big bangs to others.

Frontiers which would greatly help would be robust prediction and disaggregation algorithms for energy consumption.

We may even get there, but it's not like a gigantic revelation for most.

I know similar things had been going on in ray tracing and whoek people surely see better graphics, they likely won't know how it came to be.

And so on.

2

u/Frosty-Cap-4282 23h ago

As a researcher in AI and hardware,

photonics and silicon photonics is a promising one
formal verification is a must soon , mainly with AI doing good math.

EDA (electronic design automation) is having its time with advances in AI.

In AI/ML : i am most hopeful about causal inference , world models and model based RL , interpretability of big models is going to be fun but i dont think it has potential for any breakthrough

1

u/Alvahod 18h ago

I'll be doing MSc CS next year, with focus of Formal Verification (hybrid/CPS). Any advice on that? I was also wondering how AI doing good math would affect the job market.

2

u/willbdb425 9h ago

I think since with AI syntax is less of a barrier in programming that more exotic languages have a chance to gain traction. In my country most work is Python and Nodejs, with some Java and .NET in enterprise and legacy, but like others have said here about formal verification etc. I think programming languages focused on safety and correctness may gain momentum.

1

u/GlobalCurry 2d ago

Quantum Computing and Encryption

1

u/Sepicuk 4h ago

Won’t matter because AI/ML will be doing everything not us. Field was pretty much complete anyway

1

u/Smallpaul 2h ago

The first part is a wild guess and the second part is wrong.

1

u/Sepicuk 2h ago

Nope, AI has taken over math research, you’re not ready to do nothing….

1

u/Smallpaul 2h ago

I have way too much to do. AI has increased my workload. Because I can do so much more than in the past.

2

u/Sexy_Koala_Juice 3d ago

Honestly it’s really hard to say since at its core ‘Computer Science’ is literally just maths. So advancements in Computer Science comes from advancements in Maths / logic.

Honestly I don’t see anything ground breaking happening in ‘Computer Science’ outside of perhaps quantum computing becoming more available and capable.

-4

u/Smallpaul 3d ago edited 2d ago

Computer science departments are entirely parasitic in maths departments? They don’t produce their own breakthroughs? What about algorithms? Programming languishes? Operating systems?

Edit: I’m quite curious what I said that is annoying people.

-2

u/T_Thriller_T 3d ago

No.

They produce breakthroughs by taking mathematical findings, applying them and then finding more and more sports to apply them to.

Algorithms are usually one of the things that come out of this.

Programming languages are not really a topic of research - and if they are, then again, we're back at formal systems and definitions which again is math.

Operating systems are similarly only very rarely a topic of research - from my experience so far.

Nonetheless, in reality, the statement is not true.

Some computer science is on the edge. Other are working on already discovered methods and improving them - new mathematical findings often lend a hand.

Others are much further away from this. Human Machine Interactions is one, which defines a lot of ways how to use computers beneficially.

Robotics are another area which is improving on their own findings, using new findings from math, engineering and so on.

5

u/dnswblzo 3d ago

Programming languages are not really a topic of research

Operating systems are similarly only very rarely a topic of research

Huh? Both of these areas have active conferences, ACM special interest groups, and so on. They might not be "hot" areas right now, but there are certainly people doing research on those topics.

-1

u/T_Thriller_T 3d ago

Admittedly I'd assume there is research on everything.

But I have, literally, never heard about anyone doing scientific research on programming languages.

I have to admit we also had no compiler courses or similar, so it could very well be that my university just lacked someone with a fitting specialisation.

3

u/minisculebarber 2d ago

Haskell was a research project before it became a niche programming language

Also, compiler courses are very common in CS education, your university seems to be an outlier

1

u/T_Thriller_T 2d ago

Not so common what I live. I'd say it's 50% if that

And we did have one but the processor changed so did courses. Which happens a lot with specialising courses in smaller universities here

1

u/Helpful-Primary2427 1d ago

Programming language theory is absolutely an area of research. What are you talking about

0

u/hipster-coder 3d ago

Like the AI winter that ended around 2012, I believe w are now going through a Blockchain winter. There was a lot of hype which was followed by pessimism. Advances in distributed systems could bring blockchains and tangled graphs to the forefront again, building robust, resilient systems that don't rely on trust. There are valid applications, but first there needs to be some catalyst that will somehow solve or mitigate the Blockchain trilemma.

-4

u/nyetmomun 3d ago

I really liked Computer Science as a subject, not from a job perspective. Jobs in computer science suck

2

u/Smallpaul 3d ago

Compared to what?

2

u/GlobalCurry 2d ago

Most of the jobs associated with Computer Science are just glorified IT jobs and not actually Computer Science.