You DO NOT want to render this client side - Cluster or not. Remember that the client will have to not only have to render them, but even worse have to download 1000000 points to the client. This is NOT going to work well.
Instead this is what the server-side rendering should be used for. There's absolutely no point in rendering all these points client-side. Only render points on the client if you know that they are going to interact with them directly using mouse hover/enter/leave. There is no app where you would expect the user to be looking at all 1 million points. Instead leave them rendered at the server, and if the user wants to query information about a specific point, use the click event and then use QueryTask to get the information about that one specific element.
I cover some of this and various tricks you can use in this session:
http://resources.arcgis.com/gallery/video/arcgis-api-for-silverlightwpf/details?entryID=E50439B8-142... (jump to 26:29)
Sorry no. You really need a server-side component to do something like this properly. And after all this IS a client API, meaning a client to primarily ArcGIS Server. However, this might also be interesting for you: http://www.zekiah.com/index.php?q=node/146
Btw as per the license requirements (just making sure you know), AFAIK if you don't own an ArcGIS Server license, the ArcGIS Silverlight API is not free to use.
Sorry no. You really need a server-side component to do something like this properly. And after all this IS a client API, meaning a client to primarily ArcGIS Server. However, this might also be interesting for you: http://www.zekiah.com/index.php?q=node/146
Btw as per the license requirements (just making sure you know), AFAIK if you don't own an ArcGIS Server license, the ArcGIS Silverlight API is not free to use.