I am using SQL Server 2008 R2
Running sys.dm_os_waiting_tasks shows me the following:

There are a lot of delays in CXPACKET. As a result of this problem, it was pointed out that this is due to parallel query execution and that I have to deal with the MAXDOP settings, but the description of resources for all processes is unlikely:
exchangeEvent id=Pipe271035100 WaitType=e_waitPipeGetRow nodeId=5
A wait indicator showing that e_waitPipeGetRow seems to indicate that it has something to do with the deadlock or a lot of requests blocked, but I could be wrong.
My question is: how do I solve the problem? I'm not even sure where to look.
Edit:
Since the publication of this question, the problem below has disappeared suddenly for a while. Today, though, the same problem arose and this is what I found with sys.dm_exec_requests:

There are several PROCIDs showing a lot of cxpacket. Here is an example of one of them 123 0 10.02.2015 16: 12: 21.617 suspended CHOICE 0x0300070048642C323B8DB30036A400000100000000000000 1304 11288 0x0500070048642C3240210C14030000000000000000000000 May 7 59676462-0CB3-4FB8-96FC-530B3892578D 0 RESOURCE_SEMAPHORE 248137 RESOURCE_SEMAPHORE 0x 0 1 1583321 0 0 0 248 138 0 8 0x000000000460A748 0 0 -1 한국어 YMD 7 1 0 1 0 1 1 1 1 2 1 0 0 0 4 0 0 1 0x941A9D1F032CAA8A 0x1CCA978D548EB09E
The wait type showing that RESOURCE_SEMAPHORE seems to indicate that the threads are conflicting over resources when the request is run in parallel, but I'm not sure. How to fix this problem?
Edit2:
And now I'm starting to understand the main problem
Running sys.dm_exec_query_memory_grants showed me some pretty unexpected information:

A huge amount of memory is provided to some processes (3 Gigs on top). In bad cases, several processes start asking for memory, which leads to resource competition . This caused all wait types RESOURCE_SEMAPHORE.
Digging deeper, I discovered that this happens when some specific stored procedure is called repeatedly. Ultimately, we will fix the basic SQL problems in it. I believe this has something to do with parametric sniffing, but in order to immediately alleviate the resource conflict problem, I tried to take the following measures:
First I ran DBCC FREEPROCCACHE to clear the plan cache. This did not reduce the amount of requested memory.
Then I tried to change the procedure using OPTION RECOMPILE. It didn't do anything either.
So I pretty much lost where to do it. How to make an SP request for less memory?