At the data link layer, many protocols run simultaneously, or one after other, right? my question is how date link layer knows about which layer 2 protocol to run and at which sublayer?
You probably mean on top of the data link layer. You cannot usually mix different physical layer and data link layer protocols. Running Ethernet on L2 requires an Ethernet (compatible) PHY below.
The data link layer knows nothing about what it is transporting. The payload may be network layer packet (mostly IP), or an application protocol sitting directly on top (LLDP, Bonjour, ...). On Ethernet, the transported protocol is usually identified by the Ethertype field. On the OS level, each protocol handler (e.g. IPv4) registers with its Ethertype value(s) and the OS then passes all received frames with that value to the handler. Without a registered handler, the frame is simply ignored.