The question you should be asking is, how many requests do you need to process per second. That number is missing from your question, and as such the original question cannot be answered appropriately.
There is however a few numbers in your question that I can give an answer to.
First of all you mention a request size of 100 bytes and a reply size of 200 bytes. A UDP service where replies are larger than requests can potentially be abused for reflection attacks. This is something that must be taken into account when designing UDP based protocols.
Another important consideration is the possibility that a stray packet is mistakenly interpreted as a request.
You mention the possibility of using 80 threads. TCP based services mainly use large number of threads because they are often designed such that every connection requires a thread, and that thread may spend lots of time simply waiting for the client.
Such waiting periods won't happen in a UDP based service. This means you should only be using 80 threads, if you expect all 80 threads to be doing actual processing in parallel. It requires a quite powerful machine to have 80 threads doing actual processing in parallel.
If you are doing heavy processing without first doing your own verification of the client IP address, you'll be an easy target for DoS attacks.
If you are implementing a UDP based protocol and you are using multiple threads, you are probably doing it wrong.