Personally I've had a-lot of success with WP-Super-Cache and also heard good things about W3 Total Cache as it supports CDN's.
I would personally see if you can simply turn on GZip compression - this makes a massive difference and can often be setup through your hosting control panel. If not, try something like:
Code:
# BEGIN GZIP
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/x-javascript
# removes some bugs
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
Header append Vary User-Agent
# END GZIP
If that works, you will certainly benefit from trying out the two above plugins - they take a bit of time to setup, but do provide a massive performance boost (and allow the control of gzip compression WITHOUT the stuff above in your .htaccess file).
You can do a-lot with server tuning, .htaccess and all sorts of clever stuff, but the above chunk works for me and has done on other servers too - if it doesn't work just delete it!
Maybe someone else could suggest a better .htaccess compression solution?
You could also try not having so many posts listed on your homepage, or change your theme so it just lists excerpts without all the media content.